onerror事件用來協助處理頁面中的JavaScript錯誤。當頁面上出現異常時,error事件便在window物件上觸發。例如:
在這種情況下,瀏覽器會顯示錯誤訊息:
。
如果不希望瀏覽器在預設對話框中顯示出錯訊息,讓onerror方法回傳true即可。
此外,onerror方法還提供了三個參數用來確定錯誤確切的信息,分別是:
1)message:一個字串,聲明了出現的錯誤的訊息(不同的瀏覽器中傳回的訊息內容略有差異)。
2)url:一個字串,宣告了出現錯誤的文檔的URL。
3)line:一個數字,宣告了出現錯誤的程式碼行的行號。
例如:
Ps:此方法在safari和Opera下測試未通過
注意事項:onerror事件應在其它js程式前綁定。
2、img載入錯誤
標籤支援onerror句柄。當一個影像檔案因各種原因載入不成功時,便觸發該事件句柄。透過此方法,可以使得當前圖片載入失敗時顯示預設圖片。
例如:
當網路原因或其他的原因,導致onerror裡面提供的圖片位址載入不到的時候,ie會循環執行onerror事件,導致棧溢出,此時頁面會彈出了alert訊息框,錯誤訊息為: "stackoverflow at line:0"。
IE 6.0一般會以彈出的訊息框報告溢出現象,並且會繼續執行它的功能。但是也有一些溢位漏洞發生時,會關閉所有開啟的視窗而沒有任何提示。 因此選擇使用該事件的時候還是要慎重啊!
注意事項:標籤的onerror方法沒有其他額外的參數。