从JavaScript文件中提醒一行代码

时间:2013-12-24 05:41:39

标签: javascript

我有一个JavaScript错误日志,其中一列是发生错误的行号。我认为如果我只需点击链接并获得带有该行(或多行)代码的JavaScript alert,就可以节省我从浏览器角度浏览源代码的时间。

简而言之:如何从代码头部的script元素中包含的JavaScript文件中检索特定的一行或多行代码?

我不使用框架。

2 个答案:

答案 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));
   }
  }
 }