img 标签 设置默认图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了img 标签 设置默认图片相关的知识,希望对你有一定的参考价值。

参考技术A

前提说明:
当src=\'要显示的图片.jpg\'不存在时,将触发 onerror,而 onerror 中又为 img 指定一个\'暂无图片.jpg\'。也就是说图片存在则显示\'要显示的图片.jpg\',图片不存在将显示\'暂无图片.jpg\'。

问题:
如果由于网络问题导致了两张图片同时显示不出来,那么将会出现连续触发 onerror,导致循环,故会出现打开网页时提示Stack overflow at line: 0错误。

解决方法:
添加 this.onerro=null; 触发onerror 时,同时设置onerror为null,防止循环触发。

img标签设置默认图片

为了美观当网页图片不存在时不显示叉叉图片

当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了”图片XX”的提示信息,也起不了多大作用。
其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如:

1、让这个图片元素隐藏:

<img src="图片的url地址" alt="图片XX" onerror="this.style.display=‘none‘"/>

2、用默认的图片替换:

<img src="图片的url地址" alt="图片XX" onerror="this.src=‘默认图片的url地址‘"/>

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

因此, 需要用下面两种方法解决:

a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。

b、控制onerror事件只触发一次,需要增加这句话:this.onerror=null; 增加后如下:

<img src="图片的url地址" alt="图片XX" onerror="this.src=‘默认图片的url地址‘;this.onerror=null"/>

经测试,上面的方法在IE各个版本及谷歌、火狐浏览器中都支持。

 

以上是关于img 标签 设置默认图片的主要内容,如果未能解决你的问题,请参考以下文章

怎么设置img默认图片,属性是啥

js解决img标签加载失败显示默认图片

thymeleaf中img标签,如果有图片显示图片,没有图片显示默认图片

thymeleaf中img标签,如果有图片显示图片,没有图片显示默认图片

thymeleaf中img标签,如果有图片显示图片,没有图片显示默认图片

thymeleaf中img标签,如果有图片显示图片,没有图片显示默认图片