使用场景

其实on error使用上是比较简单的。

当我们网站上出现了无效图片,而我们希望用友好的方式告诉用户,而不是显示红叉叉。

w3c上解释的 定义和用法:

onerror 事件会在文档或图像加载过程中发生错误时被触发。

在装载文档或图像的过程中如果发生了错误,就会调用该事件句柄。

W3C上关于onerror的用法

<div>
demo1 : src 为正确地址 (结果是:src为正确时,显示正确图片,不会显示onerror中的默认图片)
<img src="../cat.jpg" onerror="javascript:this.src='../video占位图.jpg';" alt="图片显示失败" style="width: 80px;height: 80px;">
</div> <div>
demo2 : src 为错误地址(结果是:src为错误时,不会显示alt的错误信息,显示了onerror中的默认图片)
<img src="http://baidu.com" onerror="javascript:this.src='../video占位图.jpg';" alt="图片显示失败" style="width: 80px;height: 80px;">
</div> <div>
demo3 : src 为空 (结果是:src为空时,不会显示alt的错误信息,显示了onerror中的默认图片。因此,src为空也是判断了src加载地址的错误)
<img src="" onerror="javascript:this.src='../video占位图.jpg';" alt="图片显示失败" style="width: 80px;height: 80px;">
</div> <script>
function errorImg(img){
//alert("OK");
img.src = "../video占位图.jpg";
img.onerror = null;
}
</script>
<div>
demo4 : src 为错误地址or为空 (用函数的方式实现默认图片替换src加载失败的无效图片)
<img src="" onerror="errorImg(this)" alt="图片显示失败" style="width: 80px;height: 80px;">
</div>
<div>
demo5 : 动态创建的img中的onerror (知识点:转义符)
</div>
<script>
function moveErrorImg(img){
console.log("OK");
img.src = "../video占位图.jpg";
img.onerror = null;
}
var htm = '<img src="" onerror='+moveErrorImg(this)+' alt="图片显示失败" style="width: 80px;height: 80px;">'
document.write(htm); var htm1 = '<img src="" onerror=\'moveErrorImg(this)\' alt="图片显示失败" style="width: 80px;height: 80px;">'
document.write(htm1 +" "); var htm2 = '<img src="" onerror=\"moveErrorImg(this)\" alt="图片显示失败" style="width: 80px;height: 80px;">'
document.write(htm2 +"<br/>"); var htm3 = '<img src="" onerror="javascript:this.src=\'../video占位图.jpg\';" alt="图片显示失败" style="width: 80px;height: 80px;">'
document.write(htm3); var htm4 = '<img src="" onerror="javascript:this.src=\"../video占位图.jpg\";" alt="图片显示失败" style="width: 80px;height: 80px;">'
document.write(htm4 +" "); var htm5 = "<img src='' onerror='javascript:this.src=\"../video占位图.jpg\";' alt='图片显示失败' style='width: 80px;height: 80px;'>"
document.write(htm5 +"<br/>"); </script>

效果如下:

img的onerror事件的更多相关文章

  1. 加载默认图片,如何避免img标签陷入onerror事件死循环

    当图片加载失败的时候,我们可以利用onerror事件赋予它默认图片,但是问题来了,假如默认图片又不存在呢,即加载失败,这个时候就会陷入死循环. 为了避免死循环的情况,我们可以在执行完onerror事件 ...

  2. img的onerror事件(瑕疵+解决办法)【转】

    显示图片的时候,为了更好的用户体验,可能会把一些没有图片的内容也用图片样式显示出来,此时我们就要用到IMG的onerror事件了,注意MyEclipse的快捷键alt+/是没有的. < img ...

  3. 基于window.onerror事件 建立前端错误日志

    QA不是万能的,用户的浏览环境非常复杂,很多情况无法靠测试用例去覆盖,所以最好建立一个前端错误日志,在真实用户端收集bug. try&catch是一个捕获前端错误的常见方法,比如: { //给 ...

  4. 图片输出onerror事件

    <img src=".<?php echo $img[0];?>" onerror="this.src='img/zanwu.jpg'" st ...

  5. img onerror事件

    怪自己知道的太少,img标签有onerror这个事件,我是才刚知道,恕我愚昧,既然是第一次遇到,而且又是一个自己从没有涉及过得的东西,所以我希望通过这个随笔来是自己印象深刻,此文仅仅只是让自己印象深刻 ...

  6. img标签的onerror事件

    #情景分析: 有时,img标签中的src图片加载失败,原来的图片位置会出现一个碎片图标,这样让人很不爽,如何变得美观些呢? #解决方案: 可以借用img标签的onerror事件,img标签支持oner ...

  7. 解析img图片没找到onerror事件

    本篇文章主要介绍了img图片没找到onerror事件 Stack overflow at line: 0 需要的朋友可以过来参考下,希望对大家有所帮助 打开网页时提示 Stack overflow a ...

  8. [译]window.onerror事件

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  9. <img/>标签onerror事件在IE下的bug和解决方法

    IE下打开网页时,会弹出“Stack overflow at line: 0”的弹框.经分析,这个bug是由于img标签的onerror事件引起的.程序中用到的代码片段如下:正常情况下显示src所指路 ...

随机推荐

  1. IE8’s Substr() Bug

    IE8不支持substr()函数, 第一个参数为负数,比如:var index = id.substr(-1, 1);替代:var index = id.substr(id.length-1, 1);

  2. 将CSS CLIP属性应用在:扩展覆盖效果

    我们想要展示如何利用CSS3 clip属性制作一种简单而整洁的扩展效果,当点击一个box元素时实现平稳过渡.这个想法是为了实现某种叠加效果,好像它实际上在各个元素的下面.点击其中一个元素将创建一个切断 ...

  3. (转)QT常用快捷键

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  4. ThinkPHP 使用极光推送给ios推送消息

    HTML <div id="wrap"><a href="<{:U('Push/pushData')}>">推送</a ...

  5. layer弹出标签层tab

    引入文件: <script type="text/javascript" src="layer/layer.min.js"></script& ...

  6. 大脑皮层是如何工作的 《人工智能的未来》(<On intelligence>)读书笔记

    PS:今年寒假的读书笔记,挖下的坑已无力再填...不过有关智能和人工智能的书还是要继续读的~ 正文: 我觉得书名翻译不是很确切,全书讨论的核心应该更是在“真”智能:讨论对人脑智能的理解,可以怎样帮助我 ...

  7. 2-路插入排序(2-way Insertion Sort)的C语言实现

    原创文章,转载请注明来自钢铁侠Mac博客http://www.cnblogs.com/gangtiexia   2-路插入排序(2-way Insertion Sort)的基本思想:     比fis ...

  8. JS之路——Math数学对象

    Math数学对象 ceil(数值)大于或等于该数的最小整数 floor(数值)小于或等于该数的最大整数 min(数值1,数值2)返回最小值 max(数值1,数值2)返回最大值 pow(数值1,数值2) ...

  9. LRU 算法简单实现

    在学习很多服务器软件中,当内存不够,而需要淘汰内存的时候,一般会使用LRU算法,便产生了浓厚的兴趣.在学习操作系统的过程中发现LRU在系统中用寄存器和栈来实现.所以我就尝试着学习用栈来解决LRU的问题 ...

  10. 监测div 元素 变动

    $(div_fc_even).bind('DOMCharacterDataModified ', function(event) { } 试了很多..只有这个有效..下面这些测试了下 ,无反应 //D ...