ページ内のすべての JS エラーをキャプチャして Django ビューに投稿しようとしています。私はこのようなことをしています。
<script>
window.onerror = function(errorMsg, file, lineNumber) {
post_data = {error: errorMsg, file: file,
location: window.location.href, lineNumber: lineNumber,
ua: navigator.userAgent};
jQuery.post('/js_errors/', post_data);
}
</script>
質問:実際の行も追加したいと思います。行番号を指定して、ページソースから行を取得するにはどうすればよいですか?
これまでのところ、私はこれを試しました(あらゆる種類の改行文字を考慮して):
document.getElementsByTagName('html')[0].outerHTML.split(/\r?\n/)[lineNumber];
ただし、これでは正しい行番号が得られません。ここで何が欠けていますか?