8

訪問者が遭遇した JS エラーを追跡することはできますか? 明らかに独自のテストを行っていますが、訪問者が特定のブラウザ バージョンを実行していたり​​、特定のプラグインを使用していたり​​すると、JS エラーが発生することがあります。同様に、JS のエラーが見過ごされて本番環境に移行することもあります。

何らかの方法でこれらのイベントをキャプチャし、サーバー上のスクリプトをエラーの詳細とともに ajax して、問題の修正を試みることができれば、非常に便利です。

更新: フィードバックをお寄せいただきありがとうございます。通常、投稿した後、次のことを見つけることができました:
Logging Clientside JavaScript Errors on Server
には、window.onerror に関する情報があり、JQuery と FireFox の onerror バグに関するいくつかの興味深いこともありましたが、まだ何年も修正されていません...

4

3 に答える 3

4

はい、window.onerror を使用します。

AJAX ログの部分については、エラーが発生した後に実行される可能性のあるコードに依存しないでください。動的に挿入されたスクリプト タグを使用してリクエストを作成し、ソースをサーバー スクリプトに設定して、データを GET パラメータとして使用することにより、できるだけシンプルに保つことができます。ただし、GET を使用すると、src パスの文字数が制限されることに注意してください (IE では ~2000)。

どのような方法で実行しても、エラー ログ コードが実行される可能性が最も高い状況 (エッジ ケース) でエラーが発生しやすくなるのを避けるため、コードをシンプルに保つことが重要です。

非運用環境ではこれを無効にする必要があります。そうしないと、問題が隠される可能性があります。

于 2011-02-27T22:39:25.570 に答える
2

JS で onerror イベントを使用して、エラーの詳細を取得できます。たとえば、 Hoptoadはこれを行い、エラーをコンソールに記録します。彼らのコードは、素晴らしい printStackTrace 関数を含む多くの優れた JS スクリプトを再利用しています.....

ここで彼らがどのようにそれを行うかを見ることができます:

http://hoptoadapp.com/javascripts/notifier.js

于 2011-02-27T22:43:44.607 に答える
2

はい、window.onerrorハンドラを使用できます。

于 2011-02-27T21:57:42.530 に答える