[HTML] img图片不存在时设置默认图片

[复制链接]
admin 发表于 2020-7-9 14:15:44 | 显示全部楼层 |阅读模式

登录后,购买下载资源更方便!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
例如,有以下代码:
/ A! R5 ~7 q1 S9 G6 V9 ][html] view plain copy$ h6 y" s8 ]  M. p  K; E2 ^) t. |/ k* w
<img src="图片的url地址" alt="图片XX"/>    X1 s2 ~( \" T( I& T5 B
当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了"图片XX"的提示信息,也起不了多大作用。 其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如: ( C( T! ^+ w' p( I: O) R8 X
1、让这个图片元素隐藏:
. ~2 u. G* ]/ g8 F) a[html] view plain copy
) h8 {9 `4 Y9 \+ r8 C/ n<img src="图片的url地址" alt="图片XX"/>  9 {. Y! \  t$ Y2 @- \& `( e

# l+ @7 H' D% G+ d- `2、用默认的图片替换:
1 |& j  [& O6 o( E[html] view plain copy
# M/ A- Y% I- p8 F0 @: |<img src="图片的url地址" alt="图片XX"/>  
, M$ J! J* e& i  s4 b5 N, X+ y注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。 因此, 需要用下面两种方法解决: a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。 b、控制onerror事件只触发一次,需要增加这句话:this.οnerrοr=null; 增加后如下:8 @8 ^( w0 l# T- Z7 `. o5 S
[html] view plain copy
' {: ~" _; m* [" t$ `$ v# e$ }<img src="图片的url地址" alt="图片XX"/>  9 T+ t9 o0 ]' o5 |" ~5 Z6 u
8 X. S5 i+ b0 ?  g% R  _) k6 _5 R" O
经测试,上面的方法在IE各个版本及谷歌、火狐浏览器中都支持。
  U$ i5 l( H2 q$ i" b7 Y% u以上方法适合<img>较少的情况,如果要处理的<img>比较多的话,可以做一个全局性的设置:
5 L5 S0 e- E. X9 V% u* Q可以写一个js脚本,让其遍历页面所有的<img>标签,给每个标签添加error事件,当任何地方的图片不存在时都可以进行统一的处理。
6 R1 e# i4 f$ f8 K# q) M
评论0

手机版|小黑屋|源码模版|全球支付|VISA信用卡|MASTER信用卡|科恒数字网-持续研发、集成、交付、运营方案资源库

GMT+8, 2026-6-16 15:53 , Processed in 0.050137 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.