登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
例如,有以下代码:
7 \! S; k1 h: |1 k[html] view plain copy" u7 a4 X. c/ g2 {! H c
<img src="图片的url地址" alt="图片XX"/> ) n/ X, Q, X* V8 P$ A% D$ q" H' Y
当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了"图片XX"的提示信息,也起不了多大作用。 其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如: ) b9 C6 N& q" r+ l
1、让这个图片元素隐藏:
z; V# N- l$ U! s7 j6 `5 k[html] view plain copy
. b4 n4 o1 t( t! x. J1 ?/ V<img src="图片的url地址" alt="图片XX"/> ' ?. [3 [) ]0 a" g9 i" h( Z
& i6 O6 v' M5 D! \4 `
2、用默认的图片替换:
( x( W( {/ U' N0 k[html] view plain copy
* I. \+ [9 }4 H4 t<img src="图片的url地址" alt="图片XX"/> 2 r# x% X) T7 E1 C$ M8 l
注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。 因此, 需要用下面两种方法解决: a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。 b、控制onerror事件只触发一次,需要增加这句话:this.οnerrοr=null; 增加后如下:
% {9 F: }7 S2 |0 E0 X2 t[html] view plain copy/ F, l! B8 b' Q
<img src="图片的url地址" alt="图片XX"/> / x( |. }" v; r1 ^4 i$ F3 W
) V C; V# w. B" S/ j经测试,上面的方法在IE各个版本及谷歌、火狐浏览器中都支持。
) |4 i# ], R3 h @. b5 s以上方法适合<img>较少的情况,如果要处理的<img>比较多的话,可以做一个全局性的设置:
- n6 U! I! p; [) K$ u% [可以写一个js脚本,让其遍历页面所有的<img>标签,给每个标签添加error事件,当任何地方的图片不存在时都可以进行统一的处理。2 S8 t3 Z ]! M
|
|