huangwei的gravatar头像
huangwei 2015-05-18 19:54:09

html img标签的onerror事件方法在火狐中不会触发的问题总结

下面的页面在火狐中打开时无图片显示(没有触发onerror方法)

<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="http://123.57.250.51/static/js/jquery-1.11.1.js" type="application/javascript"></script>
    <script type="application/javascript">
        window.onload= function () {
            $('#headLogo')[0].onerror = function(){
                console.log("onerror 136line");
                this.src =  'https://www.baidu.com/img/bdlogo.png';
            };
            $('#headLogo').attr('src' ,'');
        }
    </script>
</head>
<body>
<img id="headLogo" >
</body>
</html>

但是在chrome中打开会显示如下界面: 

html img标签的onerror事件方法在火狐中不会触发的问题总结

即在chrome中调用了onerror方法.

但是把$(‘#headLogo’).attr(‘src’ ,); 改为

$('#headLogo').attr('src' ,'a');

在火狐中就可以正常显示图片的,即执行了onerror方法.可以看看火狐的控制台信息: 

html img标签的onerror事件方法在火狐中不会触发的问题总结

总结:在火狐中,设置图片的src为空字符串,不会触发onerror方法


打赏

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友