捕获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;}