js中onerror是什么意思?onerror事件是怎么使用的?
js中onerror是什么意思?onerror事件是怎么使用的?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
在之前的文章【js try ... catch語(yǔ)法結(jié)構(gòu)有什么用?try ... catch詳解】中介紹了使用try...catch來(lái)捕獲網(wǎng)頁(yè)中的錯(cuò)誤,接下面我們來(lái)看看如何使用 onerror 事件來(lái)達(dá)到相同的目的。
onerror 事件是一種老式的標(biāo)準(zhǔn)的在網(wǎng)頁(yè)中捕獲 Javascript 錯(cuò)誤的方法,它在加載外部文件(文檔或圖像)發(fā)生錯(cuò)誤時(shí)被觸發(fā)。只要頁(yè)面中出現(xiàn)腳本錯(cuò)誤、發(fā)生異常時(shí),就會(huì)產(chǎn)生 onerror 事件。
例:
HTML代碼:
<p>點(diǎn)擊下面查看結(jié)果:</p> <form> <input type="button" value="點(diǎn)擊我" onclick="myFunc();" /> </form>
js代碼:
window.onerror = function() {
alert("發(fā)生錯(cuò)誤.");
}
運(yùn)行:
如果需要利用 onerror 事件,就必須創(chuàng)建一個(gè)函數(shù)來(lái)處理錯(cuò)誤。這個(gè)函數(shù)就是 onerror 事件處理程序 (onerror event handler)。這個(gè)事件處理程序需要使用三個(gè)參數(shù)來(lái)調(diào)用,分別為:msg、url、line,這三個(gè)參數(shù)可以讓onerror 事件處理程序提供了三條信息,用來(lái)找出錯(cuò)誤的確切性質(zhì)。
onerror 事件處理程序提供的三條信息,用來(lái)找出錯(cuò)誤的確切性質(zhì):
Error message:瀏覽器中把給定的錯(cuò)誤消息顯示出來(lái)(錯(cuò)誤消息)
URL:發(fā)生錯(cuò)誤的頁(yè)面的 url
Line number:發(fā)生錯(cuò)誤的代碼行
語(yǔ)法:
onerror=handleErr
function handleErr(msg,url,line)
{
//在這里處理錯(cuò)誤
return true or false
}
瀏覽器是否顯示標(biāo)準(zhǔn)的錯(cuò)誤消息,取決于 onerror 的返回值。如果返回值為 false,則在控制臺(tái) (JavaScript console) 中顯示錯(cuò)誤消息。反之則不會(huì)。
下面我們就通過(guò)示例來(lái)看看如何提取這些信息:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
onerror = handleErr
var txt = ""
function handleErr(msg, url, line) {
txt = "頁(yè)面上出現(xiàn)了一個(gè)錯(cuò)誤。\n\n"
txt += "錯(cuò)誤: " + msg + "\n"
txt += "URL: " + url + "\n"
txt += "行號(hào): " + line + "\n\n"
txt += "單擊“確定”繼續(xù)。\n"
alert(txt)
return true
}
function message() {
adddlert("歡迎查看!")
}
</script>
</head>
<body>
<p>點(diǎn)擊下面查看結(jié)果:</p>
<form>
<input type="button" value="查看消息" onclick="message();" />
</form>
</body>
</html>
運(yùn)行效果:
你也可以在加載圖像(或其他文件)時(shí)出現(xiàn)任何問(wèn)題時(shí)使用onerror方法顯示錯(cuò)誤消息(如下所示)。
<img src="myimage.gif" onerror="alert('加載圖像時(shí)出現(xiàn)錯(cuò)誤。.')" />
運(yùn)行:
總結(jié):以上就是本篇文章的全部?jī)?nèi)容,希望能對(duì)大家的學(xué)習(xí)有所幫助。
總結(jié)
以上是生活随笔為你收集整理的js中onerror是什么意思?onerror事件是怎么使用的?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: WebSocket服务器上的oTrans
- 下一篇: WebSocket服务器端的日志重复打印