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 相关文章推荐
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
Oct 17 Javascript
javascript之AJAX框架使用说明
Apr 24 Javascript
javascript 文章截取部分无损html显示实现代码
May 04 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
Dec 16 Javascript
深入分析Javascript跨域问题
Apr 17 Javascript
JavaScript定时器和优化的取消定时器方法
Jul 03 Javascript
Javascript基础_嵌入图像的简单实现
Jun 14 Javascript
jQuery获取浏览器类型和版本号的方法
Jul 05 Javascript
基于vue2.x的电商图片放大镜插件的使用
Jan 22 Javascript
Element UI 自定义正则表达式验证方法
Sep 04 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
Feb 01 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
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
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
vue 中滚动条始终定位在底部的方法
2018/09/03 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
javascript如何实现create方法
2019/11/04 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
Python时间的精准正则匹配方法分析
2017/08/17 Python
jupyter notebook实现显示行号
2020/04/13 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
详解Python yaml模块
2020/09/23 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
Notino法国:购买香水和化妆品
2019/04/15 全球购物
俄罗斯美容和健康网上商店:Созвездие Красоты
2019/07/23 全球购物
工程力学专业毕业生求职信
2013/10/06 职场文书
高考自主招生自荐信
2013/10/20 职场文书
八一演出活动方案
2014/02/03 职场文书
税务干部鉴定材料
2014/02/11 职场文书
社区党务公开实施方案
2014/03/18 职场文书
建筑公司员工自我鉴定
2014/04/08 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
谢师宴答谢词
2015/01/05 职场文书
旅游投诉信范文
2015/07/02 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
Oracle 死锁的检测查询及处理
2021/09/25 Oracle