JavaScript通过使用onerror设置默认图像显示代替alt


Posted in Javascript onMarch 01, 2016

JavaScript代码

 //图像加载出错时的处理
function errorImg(img) {
img.src = "默认图片.jpg";
img.onerror = null;
}

html代码

<img width="32" height="32" src="1.jpg" onerror="errorImg(this)" />

为了美观当网页图片不存在时不显示叉叉图片

当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了”图片XX”的提示信息,也起不了多大作用。
其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如:

1、让这个图片元素隐藏:

为了美观当网页图片不存在时不显示叉叉图片 src="图片的url地址" alt="图片XX" onerror="this.style.display='none'"/>

2、用默认的图片替换:

为了美观当网页图片不存在时不显示叉叉图片 src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址'"/>

注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。

因此, 需要用下面两种方法解决:

a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。

b、控制onerror事件只触发一次,需要增加这句话:this.onerror=null; 增加后如下:

为了美观当网页图片不存在时不显示叉叉图片 src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址;this.onerror=null'"/>

经测试,上面的方法在IE各个版本及谷歌、火狐浏览器中都支持。

Javascript 相关文章推荐
Javascript里使用Dom操作Xml
Jan 22 Javascript
javascript 类型判断代码分析
Mar 28 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
Nov 30 Javascript
jquery实现的下拉和收缩效果示例
Aug 21 Javascript
使用jquery实现放大镜效果
Sep 02 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
Dec 01 Javascript
jQuery实现验证年龄简单思路
Feb 24 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
May 31 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
Oct 24 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
Mar 07 Javascript
vue组件实践之可搜索下拉框功能
Nov 25 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
Nov 01 Javascript
jQuery增加与删除table列的方法
Mar 01 #Javascript
JavaScript如何实现组合列表框中元素移动效果
Mar 01 #Javascript
JavaScript常用函数工具集:lao-utils
Mar 01 #Javascript
JavaScript Array对象详解
Mar 01 #Javascript
jQuery计算文本框字数及限制文本框字数的方法
Mar 01 #Javascript
jQuery xml字符串的解析、读取及查找方法
Mar 01 #Javascript
原生javascript实现解析XML文档与字符串
Mar 01 #Javascript
You might like
php5.2时间相差8小时
2007/01/15 PHP
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
python中使用mysql数据库详细介绍
2015/03/27 Python
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
2017/09/26 Python
python实现雨滴下落到地面效果
2018/06/21 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
python实现字符串和数字拼接
2020/03/02 Python
英国绿色商店:Natural Collection
2019/05/03 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
财务部经理岗位职责
2014/02/03 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书