在Javascript中捕获图像特定错误

时间:2017-01-31 13:20:03

标签: javascript image error-handling

我试图抓住图片因特定原因加载时失败,例如Denied load of "url"。我尝试使用onerror,但每次错误都会触发。有没有办法指定onerror或其他任何方式来执行此操作?

2 个答案:

答案 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对象属性

enter image description here