【JavaScript】加载失败的红叉图片处理与<img>图片标签的onerror事件

来源:互联网 发布:量子计算机骗局 知乎 编辑:程序博客网 时间:2024/04/28 10:59

大家上网的时候肯定见到过加载失败的红叉图片,具体如下图。当然现在Google Chrome与Firefox对其处理会好看一些。


其实可以利用<img>图片标签的onerror事件对其处理的,要求其加载失败之后,马上加载一张默认图片,而不是显示为红叉叉。

其代码如下:

<img src="s.png" onerror="javascript:this.src='xx.png';this.width=80;this.height=80;" />
意为,如果加载s.png这张图片失败了,就马上去加载xx.png这张图片,同时xx.png这张图片要求其以80x80的方式加载。

当然,如果你要设置更多属性,完全可以写成这样:

<img src="s.png" onerror="onErrorHandle(this)" />
声明这个s.png加载失败的javascript处理函数是onErrorHandle,然后把自己,也就是这个img节点传过去,

然后在javascript中写一个这样的onErrorHandle函数:

function onErrorHandle(obj){obj.src="xx.png";obj.width=80;obj.height=80;}
这样的话,你可以设置在这个onErrorHandle函数设置更多的属性,用obj.xx属性就可以了。同时避免了在onerror=""这个事件的双引号写了太多单引号,把自己弄晕的困窘。

1 0