查找函数调用的源代码行

Rob*_*ert 3 javascript

我已经构建了一个自定义日志记录实用程序,它显示了日志消息和日期时间.我想在调用该函数的源代码中添加行号.

有没有办法确定特定的javascript函数被触发的HTML源代码行?

Tim*_*own 7

自己写了一个日志库(log4javascript)后,我考虑过同样的问题,这是我的想法:

问题是,为了获得您想要的信息,您需要一个Error在相关行上创建的对象.Error在日志记录实用程序中创建一个只会直接为您提供日志记录实用程序代码中特定行的文件名和行号,而不是用于进行日志记录调用的代码行.这一轮唯一的办法我能想到的是解析stack的财产Error(或message在Opera属性),其中有几个问题:

  • 堆栈跟踪仅在Mozilla,最近的WebKit和Opera浏览器中可用
  • 堆栈跟踪是一个不同浏览器的字符串,可能会在未来的浏览器中再次更改格式,从而破坏了解析代码
  • Error为每个日志调用抛出并解析其堆栈跟踪将增加显着的性能开销.

出于log4javascript的目的,我认为它不值得实现,但是为了您自己的需要,您可能会认为这是值得的.