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 相关文章推荐
jQuery Tools tab(幻灯片)
Jul 14 Javascript
jQuery焦点图切换特效插件封装实例
Aug 18 Javascript
javascript简单事件处理和with用法介绍
Sep 16 Javascript
node.js中的fs.existsSync方法使用说明
Dec 17 Javascript
js操作数据库实现注册和登陆的简单实例
May 26 Javascript
JS实现HTML表格排序功能
Aug 05 Javascript
flag和jq on 的绑定多个对象和方法(必看)
Feb 27 Javascript
JS实现两周内自动登录功能
Mar 23 Javascript
JavaScript中立即执行函数实例详解
Nov 04 Javascript
js实现坦克移动小游戏
Oct 28 Javascript
鸿蒙系统中的 JS 开发框架
Sep 18 Javascript
关于Js中new操作符的作用详解
Feb 21 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打印输出棋盘的实现方法
2014/12/23 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
PHP中mysqli_get_server_version()的实例用法
2020/02/03 PHP
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python3访问并下载网页内容的方法
2015/07/28 Python
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
pyenv命令管理多个Python版本
2017/03/26 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
Python发展史及网络爬虫
2019/06/19 Python
Python callable内置函数原理解析
2020/03/05 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
人力资源主管岗位职责
2014/01/29 职场文书
财经学院自荐信范文
2014/02/02 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
租房协议书范文
2014/08/20 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
Java完整实现记事本代码
2022/06/16 Java/Android