我有一个JavaScript错误日志,其中一列是发生错误的行号。我认为如果我只需点击链接并获得带有该行(或多行)代码的JavaScript alert
,就可以节省我从浏览器角度浏览源代码的时间。
简而言之:如何从代码头部的script
元素中包含的JavaScript文件中检索特定的一行或多行代码?
我不使用框架。
答案 0 :(得分:6)
现代浏览器附带调试控制台。它们会在发生错误时记录错误消息和堆栈跟踪。通常会提供错误的行号和堆栈中涉及的函数,并且可单击以显示发生错误的行。
答案 1 :(得分:1)
这个解决方案并不完美,因为它会对服务器产生不必要的请求,但它完全符合我的要求......
function getLines(haystack,from,toIncluding)
{
var i = 0
var j = 0;
var result = '';
--from;
while (from-- >0 && i !== -1)
{
--toIncluding, i = haystack.indexOf('\n', i + 1);
}
if (i===-1) {result = '';}
j = i;
while (toIncluding-->0 && j !== -1)
{
j = haystack.indexOf('\n', j + 1);
}
if (j === -1) {j = haystack.length;}
result = haystack.slice(i + 1, j);
return result;
}
......然后简单地使用......
if (window.XMLHttpRequest)
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET',document.getElementsByTagName('script')[0].src,true);
xmlhttp.send(null);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState=='4')
{
alert(getLines(xmlhttp.responseText,2,7));
}
}
}