今天了解到一个新的知识点,之前没用过,所以记录一下
当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'">