登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
例如,有以下代码:
; n$ y' {3 c+ p7 s[html] view plain copy
! \0 o) b, j. k0 d+ t<img src="图片的url地址" alt="图片XX"/> # M0 x3 Y5 n9 s9 g
当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了"图片XX"的提示信息,也起不了多大作用。 其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如:
) e* c, \/ r3 w/ J# w/ T; |1、让这个图片元素隐藏:
: e$ M1 w% j# f3 Q9 U! m[html] view plain copy
3 B2 |* w$ R1 }<img src="图片的url地址" alt="图片XX"/>
6 ~9 S/ M9 x( |4 n5 M m1 w
/ S4 q; y k. p: N% I* Z2、用默认的图片替换:
- l! o) k h" G9 n I; X( {9 J7 K[html] view plain copy
, U0 `$ L9 ^9 M3 _2 q* s/ k; o<img src="图片的url地址" alt="图片XX"/>
7 C" x6 [$ _% z6 N注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。 因此, 需要用下面两种方法解决: a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。 b、控制onerror事件只触发一次,需要增加这句话:this.οnerrοr=null; 增加后如下:3 Z+ @- F2 r4 b: K7 q$ t
[html] view plain copy
1 S7 K9 g r# Y<img src="图片的url地址" alt="图片XX"/> 0 x$ v: e) n, g
# o5 F: u; v/ z$ d1 x
经测试,上面的方法在IE各个版本及谷歌、火狐浏览器中都支持。
: J" S- \( f) t* A& O3 M以上方法适合<img>较少的情况,如果要处理的<img>比较多的话,可以做一个全局性的设置:
% G g* U3 N* y' T: w可以写一个js脚本,让其遍历页面所有的<img>标签,给每个标签添加error事件,当任何地方的图片不存在时都可以进行统一的处理。
7 _ u4 y. q# e3 _/ \2 @/ i$ D: |3 J |
|