当网页图片不存在时的处理方法
2012-03-14 17:40
176 查看
例如,有以下代码:
当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了"图片XX"的提示信息,也起不了多大作用。
其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如:
1、让这个图片元素隐藏:
2、用默认的图片替换:
注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。
因此, 需要用下面两种方法解决:
a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。
b、控制onerror事件只触发一次,需要增加这句话:this.onerror=null; 增加后如下:
经测试,上面的方法在IE各个版本及谷歌、火狐浏览器中都支持。
以上方法适合<img>较少的情况,如果要处理的<img>比较多的话,可以做一个全局性的设置:
可以写一个js脚本,让其遍历页面所有的<img>标签,给每个标签添加error事件,当任何地方的图片不存在时都可以进行统一的处理。
其实,jQuery就有这个方便的功能,可以参考此处:http://www.w3school.com.cn/jquery/event_error.asp 不过,经本人测试,在IE下面好像不好使。(大家可以用IE浏览器打开上面的网址试试)
<img src="图片的url地址" alt="图片XX"/>
当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带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>标签,给每个标签添加error事件,当任何地方的图片不存在时都可以进行统一的处理。
其实,jQuery就有这个方便的功能,可以参考此处:http://www.w3school.com.cn/jquery/event_error.asp 不过,经本人测试,在IE下面好像不好使。(大家可以用IE浏览器打开上面的网址试试)
相关文章推荐
- 当网页图片不存在时的处理方法
- 当网页图片不存在时的处理方法
- img加载图片不存在的处理方法
- 网页中的图片的处理方法与代码
- 网页中的图片的处理方法与代码
- 当页面图片不存在时的处理方法
- 网页中的图片的处理方法
- 响应式网页设计中的图片处理方法
- windows打开网页变成下载的处理方法
- ANDROID图片加载时出现OOM的一般处理方法
- Android --- 图片处理的方法
- android图片处理方法(不断收集中)
- .net处理图片盗链的方法
- C# WebBrowser的DrawToBitmap方法 截取网页保存为图片
- Java图片处理之获取gif图一帧图片的两种方法
- 图片处理常用方法总结
- 页面回退,显示“网页已过期”的一种处理方法
- iOS图形绘制方法汇总及图片处理
- 图片异步加载的一种处理方法
- Android JNI处理图片实现黑白滤镜的方法