当前位置: 首页 > 面试题库 >

如何获得JavaScript调用者函数的行号?如何获取JavaScript调用者源URL?

印劲
2023-03-14
问题内容

我正在使用以下代码来获取JavaScript调用者函数的名称:

var callerFunc = arguments.callee.caller.toString();
callerFuncName = (callerFunc.substring(callerFunc.indexOf("function") + 8, callerFunc.indexOf("(")) || "anoynmous")

有没有办法发现调用该方法的行号?

另外,是否有办法获取调用该方法的JavaScript文件的名称?还是源URL?


问题答案:

这适用于我在chrome / QtWebView中

function getErrorObject(){
    try { throw Error('') } catch(err) { return err; }
}

var err = getErrorObject();
var caller_line = err.stack.split("\n")[4];
var index = caller_line.indexOf("at ");
var clean = caller_line.slice(index+2, caller_line.length);


 类似资料:
  • 问题内容: 有没有办法找出调用堆栈? 问题答案: 请注意,此功能是 非标准的 ,来自: 非标准 此功能是非标准的,不在标准范围内。不要在面向Web的生产站点上使用它:它不适用于每个用户。实现之间也可能存在很大的不兼容性,并且将来的行为可能会更改。 以下是2008年的旧答案,现代Javascript不再支持该答案:

  • 问题内容: 我在这样的文件中包含myscript.js : 在“ myscript.js”内部,我想访问URL“http://site2.com/myscript.js”。我想要这样的东西: 问题答案: 从http://feather.elektrum.org/book/src.html中: 变量现在具有脚本dom元素。您可以使用来获取src网址。 注意,这需要作为脚本初始评估的一部分执行。如果您

  • 问题内容: 我想知道如何获取函数调用者的绝对路径? 可以这样说: 在文件中我打电话; 是file中定义的函数。要求。那么,如何从节点中获取绝对路径? 问题答案: 这是一个如何使用stacktrace在节点中查找调用方文件的示例

  • 我在带有自定义注释的方法上有一个切入点。 此方法是从应用程序中的不同位置调用的。 就像我们在付款被批准时从paymentManager的方法调用sendEmail一样。当任务完成时,我们从taskmanager的方法调用sendmail。 我必须找出触发sendEmail的事件。 我在paymentManager的上应用了自定义注释,在TaskManager的方法上应用了自定义注释。 如何在方面获

  • 问题内容: 如何从PHP调用JavaScript函数? 以下代码来自 xyz.html (单击按钮时),它在外部 xyz.js中 调用a 。这将调用wait.php。 和 wait.php 从那里以同样的方式从另一个PHP文件调用代码。 该否则工作正常,但它不会被调用我想要的方式。 问题答案: 就PHP而言(或者实际上,通常是一个Web服务器),HTML页面只不过是一个大字符串而已。 您可以使用P

  • 问题内容: 我正在做一个网络抓取项目。我正在使用的网站之一的数据来自Javascript。 在我之前的一个问题中,有人建议我可以直接从Python调用Javascript,但是我不确定如何实现。 例如:如果JavaScript函数定义为: 如何从Python调用JavaScript函数? 问题答案: 查找具有Python绑定的JavaScript解释器。(尝试Rhino?V8?SeaMonkey?