最近のシステムではJavascript(jQuery、AJAXなど)の方がますます使いやすくなっているため、 。グローバルにログを記録するjQueryエラー(イベントとDOMエラー)
私の関心は、通常のDOM操作/ jQueryのイベントが作成または実行されているjQueryの自体、内、window.onerror
はこれらをキャッチすることができないということであり、これは彼らが記録されたことで、より高速な生産にデバッグバグを作るのを助けるかもしれません2008(.onerror & jQuery bind try/catch{})から、この記事では、サーバー
に、彼らはjQuery.bind() event
とさえdocument.readyイベントにのtry/catch {}を追加します。今度は全てが.on()
イベントを経ていますが、この記事は少し古いですが、ロジックがまだ機能するように感じています...
誰かがこのようなjQueryの実装を試してみましたか?
基本的には、CDNのjQueryをそのままJSファイルの1つに使用したいのですが、これらの変更で.on()/$(document).ready()/etc
イベントを拡張/上書きしてください。
jQuery.fn.extend({ // <-- can this be extended/overwritten ?
on: function(etc etc) {
// same code just add the additional
try {
// try to execute the original .on()
}
catch (ex) {
// log any errors/info (where/why/etc)
}
}
});
// or even some sort of try/catch for $(document).ready()?
他の典型的なエラーログのフォーマット:(コースのログブラウザ/ OS /のQueryStringの/ etcすぎ)
window.onerror = function (msg, url, line) {
// Log General Javascript Errors
// this won't log jQuery internal errors
};
$.ajaxSetup({ // Log AJAX Errors
error: function (jqXHR, ajaxSettings, thrownError) { }
});
私が働く場所でエラーが起こることはありませんか?jQuery関数をオーバーライドするにはどうすればよいですか? – adeneo
:)もちろん、最近誰かが間違いを犯しています。問題は私たちのページのいくつかでもっとも不思議なエラーを無作為に経験する多くのレガシーコンピュータ/ブラウザを扱っていることです。ログを記録するための完全な解決策を試してみると、おそらくそれを修正することができます。何かご意見は? –