首頁  >  文章  >  web前端  >  如何使用「window.onerror」事件有效地全域處理 JavaScript 錯誤?

如何使用「window.onerror」事件有效地全域處理 JavaScript 錯誤?

Patricia Arquette
Patricia Arquette原創
2024-10-26 21:09:02819瀏覽

How can I effectively handle JavaScript errors globally using the `window.onerror` event?

使用全域事件機制進行有效的JavaScript 錯誤處理

為了全域處理未定義的函數錯誤,利用JavaScript 的全域事件機制有效捕捉所有未捕獲的錯誤

window.onerror 事件處理

為window.onerror 事件實現一個事件處理程序,如下所示:

<code class="javascript">window.onerror = function(msg, url, line, col, error) {
  // Message, URL, line and column details
  // Note that col & error are new to HTML 5 and may vary across browsers.

  // Customize the error display or perform error reporting using AJAX, for instance:
  var xhr = new XMLHttpRequest();
  xhr.open('POST', '/ajax/log_javascript_error');
  xhr.send(JSON.stringify({ msg, url, line, col, error }));
};</code>

< ;h2>window.onerror什麼時候觸發?

此事件觸發時:

  • 未捕獲的例外:拋出訊息、呼叫未定義的函數,或跨越原始iframe 內容視窗/文檔錯誤。
  • 編譯錯誤:語法錯誤,例如不匹配的括號、缺少分號或嘗試編譯非腳本參數。

瀏覽器支援

  • Chrome 13
  • Firefox 6.0
  • Internet Explorer 5.5
  • Internet Explorer 5.5 Opera 11.60
  • Safari 5.1

其他資源

  • Mozilla 開發者網路:[window. (https:/ /developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror)
  • MSDN:[處理與避免網頁錯誤第2 部分:執行階段錯誤](https: //docs .microsoft.com/en-us/previous-versions/ms536764(v=vs.85))
  • [回歸基礎– JavaScript onerror 事件](https://www.webdesignerdepot.com/ 2014/ 10/back-to-basics-javascript-onerror-event/)
  • [DEV.OPERA:使用window.onerror 更好地處理錯誤](https://dev.opera.com/articles /better-error -handling-with-window-onerror/)
  • [視窗onError 事件](https://www.html5rocks.com/en/tutorials/developertools/onerror/)
  • [使用onerror 事件來抑制JavaScript 錯誤](https://stackoverflow.com/a/11712511)
  • [SO: window.onerror 不會在Firefox 中觸發](https://stackoverflow.com /q/5472601/ 123152)

以上是如何使用「window.onerror」事件有效地全域處理 JavaScript 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn