img onerror事件

怪自己知道的太少,img标签有onerror这个事件,我是才刚知道,恕我愚昧,既然是第一次遇到,而且又是一个自己从没有涉及过得的东西,所以我希望通过这个随笔来是自己印象深刻,此文仅仅只是让自己印象深刻的水文,知道这个事件的诸位尽可以绕道而行了,如果你也没有涉及,或者你也不曾知晓这个事件的话,就随我一起来了解下这个属性吧.....

 

根据w3cschool:

onerror事件会在文档或图片加载过程中发生错误时被触发,支持该事件的HTML标签有:img,object,style;实例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>onerror 测试</title>
    <meta name="description" content="" />
    <meta name="author" content="" />
    
  

</head>
<body>
	
            	<img onerror="onerror=null;src='http://www.lanrenzhijia.com/images/error.jpg'"  src="img/f0.jpg"/>
	                    
</body>
</html>

  

这段代码中,如果img的src属性中的图片不存在,或者发生错误,将会触发onerror事件,error事件将为src重新加载一张存在的图片,但是如果onerror中的图片也不存在呐?

如果error的事件也不存在的话,将再次调用onerror,但是error中的图片也是错的,所以基于微软的一套核心的浏览器IE就会认为这是死循环 
然后就会报 stack overflow line: 0的错误。

为了解决这个问题,所以,一般在onerror中都会先将onerror事件先清除掉(即onerror = null),再进行复制,这样就不会存在循环调用的问题了

posted on 2015-04-26 19:06  杜玉月鹦  阅读(1839)  评论(0编辑  收藏  举报

导航