2013-08-01 11 views
9

ページ内のすべてのJSエラーをキャプチャしてDjangoビューに投稿しようとしています。私はこのようなことをやっている。Javascriptを使用してページの完全なソースを取得する

<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]; 

しかし、これは私に正しい行番号を与えるものではありません。私はここで何が欠けていますか?

+0

ヘッダーデータもキャプチャしましたか? – DarkBee

+0

なぜ行番号が必要ですか? –

+0

私はuudがこれをインタフェースバックエンドで解析していると仮定しています。なぜ分裂しないのですか? –

答えて

1

特に効率的ではありませんが、あなたは(すなわち、DOCTYPEおよびすべての)後にしているものを手に入れる必要があります。

lineNumber = 23; 
errorLine = null; 
$.post("",function(source) { 
    errorLine = source.split(/\r?\n/)[lineNumber]; 
}); 
-4

使用jqueryのメソッド$( '#のdivID_where_you_want_to_extract).LOAD(' URL ');

関連する問題