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

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各个版本及谷歌、火狐浏览器中都支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js_onerror默认图像
img_onerror
javascript onerror、javascript alt、代替ctrl alt delete、excel中alt的使用技巧、javascript技巧,以便于您获取更多的相关知识。

时间: 2024-09-22 17:32:18

JavaScript通过使用onerror设置默认图像显示代替alt_javascript技巧的相关文章

举例说明如何为JavaScript的方法参数设置默认值_基础知识

你是否遇到过这样的情况,写了个function,无参数.   function showUserInfo(){ alert("你好!我是小明."); } function showUserInfo(){ alert("你好!我是小明."); } 调用:   showUserInfo(); showUserInfo(); 后来,发现其他地方也需要这个function,但是有变量值已经在function里面写死了,怎么办?加个参数吧.   function showUs

Javascript中设置默认参数值示例_javascript技巧

第一种: function test(a,b){ var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1 var b = arguments[1] ? arguments[1] : 9;//设置参数b的默认值为9 return a+b; 其等价为 function test(){ var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1 var b = arguments[1] ? argume

JavaScript中的onerror事件概述及使用_javascript技巧

1.Window.onerror事件 onerror事件用来协助处理页面中的JavaScript错误.当页面上出现异常时,error事件便在window对象上触发.例如:      在这种情况下,浏览器会显示错误信息: . 如果不希望浏览器在默认对话框中显示出错消息,让onerror方法返回true即可. 此外,onerror方法还提供了三个参数用来确定错误确切的信息,分别是: 1)message:一个字符串,声明了出现的错误的信息(不同的浏览器中返回的消息内容略有差异). 2)url:一个字符

用javascript getComputedStyle获取和设置style的原理_javascript技巧

有兴趣的朋友搜索"百度 popup"就好了,已经有人给出了注释,强大. 最有意思的是用javascript获取和设置style DOM标准引入了覆盖样式表的概念,当我们用document.getElementById("id").style.backgroundColor 获取样式时 获取的只是id中style属性中设置的背景色,如果id中的style属性中没有设置background-color那么就会返回空,也就是说如果id用class属性引用了一个外部样式表,

[saiku] 简化/汉化/设置默认页

原文链接:https://www.cnblogs.com/avivaye/p/4877882.html 在安装完毕Saiku后,由于是社区版本,所以界面上存在很多升级为商业版的文字. 这一篇就讲述下如何简化saiku的操作界面   1.去除查询页面的升级为商业版的提示 You are using Saiku Community Edition, please consider upgrading to Saiku Enterprise, or entering a sponsorship agr

easyui-accordion 怎么设置默认全部关闭?

问题描述 easyui-accordion 怎么设置默认全部关闭? easyui-accordion,默认全部关闭,怎么设置?网上看到,要改easyui.min.js.有没有不改源文件的方法? 解决方案 调用panel的collapse方法关闭展开的标签即可 $(function(){ $("#ac").accordion('getSelected').panel('collapse') }); 解决方案二: 在末尾添加一个折叠项: <div title=""

赋值-c# 后台给select下拉框设置默认值

问题描述 c# 后台给select下拉框设置默认值 点击编辑时 要给下拉框赋值,在后台拿到对应的值后怎么给下拉框赋值.控件.属性=值: 请问是哪个属性.谢谢 解决方案 select是客户端的?还是服务器端的asp:DropDownList 客户端的直接 document.getElementById('selid').value='<%=cs后台文件中一个protected全局变量%>' 服务器的用ddl.SelectedValue=xxxx 解决方案二: 到底要默认值还是要赋值啊. 你说的是

angularjs ui-select怎么用,如何设置默认选中值

问题描述 angularjs ui-select怎么用,如何设置默认选中值 表示不清楚ui-select的用法,请问如何设置默认选中值? 解决方案 jQuery设置select默认选中的值---------------------- 解决方案二: {{$select.selected.name}}解决方案三: <div class="col-sm-6"> <ui-select ng-model="provinces.selected" theme=

使用jQuery给input标签设置默认值_jquery

由于项目需求,简单地写了一个input默认值设置,实现给.form中所有的input设置默认值的方法. <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>input默认值设置</title> <script type="text/javascript" src="http://apps.bdimg.com/li