常规方法解决我们都知道,img标签支持onerror事件,在装载文档或图像的过程中如果发生了错误,就会触发onerror事件。可以使用一张提示错误的图片代替显示不了的图片。
例如这样使用:
<img src="images/logo.png" onerror="javascript:this.src='images/logoError.png';">
当图片不存在时,将触发 onerror,而onerror 中又为img 指定一个logoError.png 图片。也就是说图片存在则显示logo.png,图片不存在将显示 logoError.png。
但是,注意哦,这里有个大坑哦,如果logoError.png 也不存在,则会继续触发 onerror,导致死循环,页面卡死。而且,就算图片存在,但网络很不通畅,也可能触发 onerror。
当然,解决办法是有的,代码如下:
<img src="images/logo.png" onerror="slnotimg();"/> <script type="text/javascript"> function slnotimg() { var img = event.srcElement; img.src = "images/logoError.png"; img.onerror = null; //解绑onerror事件 } </script>
本文共 239 个字数,平均阅读时长 ≈ 1分钟
评论 (0)