如何处理前端js报错——容错处理的汇总

在工作和实践中,总会遇到图片,,等的路径找不到。当然能够找到是极好的,但如果图片或某些文件写在被封装压缩整理过的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");
});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值