图片加载失败

今天了解到一个新的知识点,之前没用过,所以记录一下

当img图片加载失败的时候会显示一个带xx的图片,影响页面美观,怎么办?

onerror属性

当图片加载错误的时候,触发onerror事件:
例如:
1、让这个图片元素隐藏:

<img src="banner_1." height="224" width="618" onerror="this.style.display = 'none'">

2、用默认的图片替换:

<img src="banner_1." height="224" width="618" onerror="this.src='banner_1.png'">

注意:

如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。

因此, 需要用下面两种方法解决:
a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。
b、控制onerror事件只触发一次,需要增加这句话:this.onerror=null; 增加后如下:

<img src="banner_1." height="224" width="618" onerror="this.src='banner_1.png';this.onerror='null'">
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容