onerror事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了onerror事件相关的知识,希望对你有一定的参考价值。
onerror 事件会在文档或图像加载过程中发生错误时被触发。
在装载文档或图像的过程中如果发生了错误,就会调用该事件。
例:
img标签中的src图片加载失败,原来的图片位置会出现一个加载失败的小图;
onerror事件就在发生错误时被调用,从而用一张备用图片替代原图;
<img src="images/pic.jpg"onerror="javascript:this.src=‘images/error.jpg;‘"/>
如果error.jpg 也不存在,则继续触发 onerror,去请求error.jpg,然后循环、报错404。
解决:
1.保证备用图片一定存在,并且足够小,在网速情况差的时候也能轻松加载;
2.当备用图片加载错误再次触发onerror时,让其不再请求;
<img src="images/pic.jpg" onerror="nofind(this)"/>
<script type="text/javascript"> function nofind(){ ; img.src="images/error.jpg"; img.onerror=null; } </script>
W3school:
使用 onerror 事件是一种老式的标准的在网页中捕获 Javascript 错误的方法。(chrome、opera、safari 浏览器不支持)
创建一个函数
function handleErr(msg,url,l){ //msg(错误消息)、url(发生错误的页面的 url)、line(发生错误的代码行)
//Handle the error here
return true or false
}
浏览器是否显示标准的错误消息,取决于 onerror 的返回值。如果返回值为 false,则在控制台 (JavaScript console) 中显示错误消息。反之则不会。
<html> <head> <script type="text/javascript"> onerror=handleErr var txt="" function handleErr(msg,url,l){ txt = "There was an error on this page.\n\n"; txt += "Error: " + msg + "\n"; txt += "URL: " + url + "\n"; txt += "Line: " + l + "\n\n"; txt += "Click OK to continue.\n\n"; alert(txt); return true; } function message(){ adddlert("Welcome guest!") } </script> </head> <body> <input type="button" value="View message" onclick="message()" /> </body> </html>
以上是关于onerror事件的主要内容,如果未能解决你的问题,请参考以下文章
SSIS onerror 事件。执行 SQL 任务就坐在那里
为啥我在 dbo.sysssislog 表中看不到 onerror 事件
为啥 Chrome 的 img 元素的 onerror 事件只触发一次?
html 当图片获取失败时会触发onerror的事件,在该事件中可以重新定义SRC,未防再次获取图片失败导致死循环,需要重置的onerror事件为空。