我试图抓住图片因特定原因加载时失败,例如Denied load of "url"
。我尝试使用onerror
,但每次错误都会触发。有没有办法指定onerror
或其他任何方式来执行此操作?
答案 0 :(得分:0)
你可以这样做
<img src="image.png" onerror="imgError(this);"/>
现在你可以像这样调用一个函数,
function imgError(image) {
image.onerror = "";
image.src = "/images/noimage.gif";
return true;}
答案 1 :(得分:0)
这不可能,但通常问题是这样的:“发现错误404资源”或“无法加载资源:net :: ERR_FILE_NOT_FOUND”。
但是您可以使用GET类型发出ajax请求并捕获错误。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function CheckImageError(img){
var urlimg = img.attributes.src.ownerElement.currentSrc ;
$.ajax({
type:"GET",
url:urlimg ,
context: img,
error:function(requestObject, error, errorThrown){
// trace console.log or other action
},
complete: function(){
//do something
$(this).css("border","1px solid red");
}
})
}
</script>
<img onerror="CheckImageError(this)" src="image.gif">
您可以检查xmlhttpRequest对象属性