首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript:图像对象的onerror事件有哪些参数?如何获取与镜像相关的错误的其他详细信息?

Javascript:图像对象的onerror事件有哪些参数?如何获取与镜像相关的错误的其他详细信息?
EN

Stack Overflow用户
提问于 2015-02-17 00:09:28
回答 4查看 14.8K关注 0票数 16

我正在用JavaScript编写一个应用程序,它应该创建一个新的图像。有时它会失败。通过附加一个image.onerror事件侦听器,我能够检测到它发生的时间。问题是:我如何了解发生了什么错误--图像的error对象带来了什么参数?到目前为止我只发现

代码语言:javascript
运行
复制
image.onerror = function (errorMsg, url, lineNumber, column, errorObj) {
  console.log('Error: ' + errorMsg + ' Script: ' + url + ' Line: ' + lineNumber
  + ' Column: ' + column + ' StackTrace: ' +  errorObj);
}

我是从javascript: how to display script errors in a popup alert?得到的:

返回Error: [object Event] Script: undefined Line: undefined Column: undefined StackTrace: undefined,在error对象中,我找不到任何与消息或错误代码相关的内容。

EN

回答 4

Stack Overflow用户

发布于 2016-02-26 01:44:43

image.onerror处理程序将接收一个事件参数,该参数不包含任何有关错误原因的信息。

票数 11
EN

Stack Overflow用户

发布于 2017-01-12 07:12:48

如果您想捕获普通HTML img元素上的错误(而不是通过DOM动态创建错误),这种方法似乎效果很好:

代码语言:javascript
运行
复制
 <img src="http://yourdomain/site/badimage.png" 
      onerror="javascript:imageErrorHandler.call(this, event);"/>

请注意,.call(this, event)语法很重要,因此您可以访问错误处理程序中的thisevent对象。

然后,您可以定义图像错误处理程序,如下所示。(确保在img元素之前定义它,以避免竞争条件。)假设您已经连接了jQuery:

代码语言:javascript
运行
复制
 function imageErrorHandler(evt) {
    var $e = $(this);
    var src = $e.attr("src");
    console.log("Image URL '" + src + "' is invalid.");
 };

在Chrome中进行了测试。没有尝试过其他浏览器。

票数 6
EN

Stack Overflow用户

发布于 2015-06-25 00:15:37

Image.onerror附带了一个处理程序,而不是错误消息,url,...

因此,参数列表中的第一项是事件。

如果你尝试用你的代码

代码语言:javascript
运行
复制
image.onerror(errorMsg, url, lineNumber, column, errorObj) {
  console.log(errorMsg);
  console.log(url)
}

您应该为第一个日志获取一个事件,为第二个日志获取一个未定义的事件。

我还没有找到任何关于Image对象的繁重处理程序附带的内容的合法引用。但看起来它主要是用来向用户而不是开发人员标记错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28545619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档