`window.onerror` イベントを使用して JavaScript エラーをグローバルに効果的に処理するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-26 21:09:02
オリジナル
818 人が閲覧しました

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
  • Opera 11.60
  • Safari 5.1

追加リソース

  • Mozilla Developer Network: [window.onerror](https:/ /developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror)
  • MSDN: [Web ページ エラーの処理と回避パート 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/)
  • [Window onError イベント](https://www.html5rocks.com/en/tutorials/developertools/onerror/)
  • [ JavaScript エラーを抑制する onerror イベント](https://stackoverflow.com/a/11712511)
  • [SO: window.onerror が Firefox で起動しない](https://stackoverflow.com/q/5472601/ 123152)

以上が`window.onerror` イベントを使用して JavaScript エラーをグローバルに効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!