2015-10-19 65 views
0

假设我有一个HTML文件。在那个文件中,我引用了两个外部JavaScript文件。其中,一个JavaScript文件有错误(主要是编译错误)。而且我在另一个没有任何错误的JavaScript文件中写入了onerror方法。现在当我在浏览器中打开HTML文件时,显然会调用onerror。该方法中的内容将被执行。在这里我的实际想法,我想打印其中有错误的JavaScript文件名在alert(-)放置在onerror另一个JavaScript文件的方法。如何获取在JavaScript中加载的JavaScript的文件名?

如果我在alert(-)里面放了arguments.callee声明,那么它是打印当前的onerror方法的内容。如果我把arguments.callee.caller,那么它打印空。

有没有什么办法可以通过编程方式找到装载了错误的JavaScript文件名,特别是在JavaScript中?

+1

您可能需要查看[onerror事件的文档](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror) –

回答

0

这个问题在https://developer.mozilla.org/de/docs/Web/API/GlobalEventHandlers/onerror的回答很好。尤其看看这个:

funcRef是对函数的引用。当函数返回true时, 这可以防止触发默认事件处理程序。功能 参数:

Error message (string) 
URL of the script where the error was raised (string) 
Line number where error was raised (number) 
Column number for the line where the error occurred (number) 
Error Object (object) 

这导致:

window.onerror(msg, URL, line, col, e) { 

     alert("Error in " + URL + " at " + line + "/" + col); 

} 

我建议不用于显示脚本错误,但console对象使用警报。

相关问题