在工作和实践中,总会遇到图片,,等的路径找不到。当然能够找到是极好的,但如果图片或某些文件写在被封装压缩整理过的js中,其实就是两种情况,跨域或不跨域
1)跨域,请求的img失败,没有显示,显示本地默认的一个图在onerror中处理
2)同域,同域如果目的图片加载不出,errorImg估计也加载不出,当然排除低级错误
可先用js去预判不稳定的服务器下的图片
function addImg(isrc){
var Img = new Image();
Img.src = isrc;
Img.onload = function(){
document.body.appendChild(Img);
}
Img.onerror = function(){
console.log("error");
}
}
如何屏蔽报错信息404.有以下几种方法。
1.强大的处理方式,所有的报错都可以被屏蔽
//js
window.onerror = function(){return true};
2.处理图片缺失问题,对缺失的文件自动填充
*****常规写法*****
//js
function imgError(image){
image.onerror ="";
image.src = "/images/noimage.jpg";
return true;
}
//html
<img src="image.jpg" οnerrοr="imagError(this);"/>
*****内联式*****
<img src="image.jpg" onerror = "this.onerror = null;this.src = '/images/noimages/jpg';" />
*****使用jQuery*****
<img src="image.jpg" οnerrοr="imagError(this);"/>
$("img").error(function(){
$(this).unbind("error").attr("src","broken.jpg");
});