Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
捕获Javascript中特定于图像的错误_Javascript_Image_Error Handling - Fatal编程技术网

捕获Javascript中特定于图像的错误

捕获Javascript中特定于图像的错误,javascript,image,error-handling,Javascript,Image,Error Handling,我正试图捕捉图像加载失败的具体原因,例如,拒绝加载“url”。我尝试使用onerror,但每次出现错误都会触发。有没有办法指定一个错误或任何其他方法 <img src="image.png" onerror="imgError(this);"/> 这是不可能的,但通常问题是这样的:“错误404找到资源”或“加载资源失败:net::ERR_FILE_not_found” 但是您可以使用GET类型发出ajax请求并捕获错误 函数检查图像错误(img){ var urlimg=i

我正试图捕捉图像加载失败的具体原因,例如,
拒绝加载“url”
。我尝试使用
onerror
,但每次出现错误都会触发。有没有办法指定一个错误或任何其他方法

<img src="image.png" onerror="imgError(this);"/>

这是不可能的,但通常问题是这样的:“错误404找到资源”或“加载资源失败:net::ERR_FILE_not_found”

但是您可以使用GET类型发出ajax请求并捕获错误



函数检查图像错误(img){
var urlimg=img.attributes.src.ownerElement.currentSrc;
$.ajax({
键入:“获取”,
url:urlimg,
背景:img,
错误:函数(请求对象、错误、错误抛出){
//trace console.log或其他操作
},
完成:函数(){
//做点什么
$(此).css(“边框”,“1px实心红色”);
}
})
}  

很抱歉,这也适用于所有错误,我如何区分它们?我的图像抛出2个错误,“拒绝加载”和“ERR_FAILED”,我需要该网页为每个错误执行不同的操作。你在(图像)参数中得到了什么?我得到了所有文档,我猜是因为我用javascript创建了图像。好的,我正在尝试你的解决方案。为什么currentSrc给我“?img.attributes.src.ownerElement为我提供了带有src的img对象,但currentSrc将其转换为“”。然后ajax请求将执行错误回调;)不知何故,它仍然执行完全回调。我试图删除ownerElement.currentSrc,然后它执行了error,但errorshown是空的,有什么想法吗?好的,我以前没有看到屏幕截图,我的requestObject的状态是:0和statusText:“error”。这不好,对吧?如果您在没有服务器的本地文件上测试,这可能是原因。或许
function imgError(image) {
image.onerror = "";
image.src = "/images/noimage.gif";
return true;}