我正在尝试捕获并将页面中的所有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];
但是,这并没有给我正确的行号。我在这里缺少什么?
答案 0 :(得分:1)
不是特别有效,但应该得到你想要的东西(即doctype和all):
lineNumber = 23;
errorLine = null;
$.post("",function(source) {
errorLine = source.split(/\r?\n/)[lineNumber];
});
答案 1 :(得分:-4)
使用jquery方法$('#divid_where_you_want_to_extract).load('url');