登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
例如,有以下代码:3 _! k' G2 }& d1 V ^' O+ U
[html] view plain copy& |0 m4 m# Z, l9 p& g* a3 Y' D
<img src="图片的url地址" alt="图片XX"/>
/ N$ k1 D9 M, ^. S当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了"图片XX"的提示信息,也起不了多大作用。 其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如: + t+ U2 e& O, e- s% p7 S9 f
1、让这个图片元素隐藏:
4 x4 M' f9 K* J* Y( i/ r) X[html] view plain copy- q2 D$ e1 |0 {- m: i, `9 v
<img src="图片的url地址" alt="图片XX"/>
& h& ]/ m9 D* s: A* T( Q
$ `' J$ D( }7 l+ h4 l3 U2、用默认的图片替换:0 O9 V0 T! {3 [9 b; } l b
[html] view plain copy
: U+ q5 q- g' S. e<img src="图片的url地址" alt="图片XX"/> ! l5 ^; G8 ?; }6 P: Q! [
注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。 因此, 需要用下面两种方法解决: a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。 b、控制onerror事件只触发一次,需要增加这句话:this.οnerrοr=null; 增加后如下: u3 n+ R1 }* U* i1 e7 ]8 p
[html] view plain copy2 _; g0 o" x+ O7 f4 M3 Q2 H
<img src="图片的url地址" alt="图片XX"/> & S. e1 n* H& B! z- B( P
4 I- |, S( a9 K, O. v" e# y经测试,上面的方法在IE各个版本及谷歌、火狐浏览器中都支持。
$ m A# P) m4 V) u/ @- F5 v以上方法适合<img>较少的情况,如果要处理的<img>比较多的话,可以做一个全局性的设置:* y9 {8 h X* ?( N4 G. ?' `7 S
可以写一个js脚本,让其遍历页面所有的<img>标签,给每个标签添加error事件,当任何地方的图片不存在时都可以进行统一的处理。
! N# i! x& u" R7 I; ] |
|