9

我正在尝试捕获页面中的所有 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];

但是,这并没有给我正确的行号。我在这里想念什么?

4

2 回答 2

1

不是特别有效,但应该得到你所追求的(即doctype和所有):

lineNumber = 23;
errorLine = null;
$.post("",function(source) {
    errorLine = source.split(/\r?\n/)[lineNumber];
});
于 2013-08-01T11:57:01.323 回答
-4

使用 jquery 方法 $('#divID_where_you_want_to_extract).load('url');

于 2013-10-01T10:09:45.550 回答