包含脚本时发生JavaScript捕获引用错误

包含脚本时发生JavaScript捕获引用错误,javascript,debugging,prototype,referenceerror,Javascript,Debugging,Prototype,Referenceerror,假设 <script src="http://mydomain.tld/buggy.js" type="text/javascript"></script> 我不能告诉开发人员用try/catch包装代码,但我还是希望在每个客户机上处理该错误。我看到重写/扩展ReferenceError是错误的 我还尝试了以下方法(从): 弹出一条消息,就像我想“错误:脚本错误。在文件的第0行: 我是否可以使其包含原始错误消息(uncaughtreferenceerror:foo未定义

假设

<script src="http://mydomain.tld/buggy.js" type="text/javascript"></script>
我不能告诉开发人员用try/catch包装代码,但我还是希望在每个客户机上处理该错误。我看到重写/扩展
ReferenceError
是错误的

我还尝试了以下方法(从):

弹出一条消息,就像我想
“错误:脚本错误。在文件的第0行:


我是否可以使其包含原始错误消息(
uncaughtreferenceerror:foo未定义
)?

您可能想查看
窗口。onerror
。我以前也做过,很抱歉我没有提到。使用了导致
错误的代码片段。脚本:行:0列:0 StackTrace:null
。这是因为它是跨域的吗?此处相同。根据处理程序,还应接收
引用错误r
,但在最新的Chrome中,我得到了
null
作为第五个参数。我在这里卡住了。你可能想看看
窗口。onerror
。我以前也做过,很抱歉我没有提到。使用了导致
错误的代码片段。脚本:行:0列:0 StackTrace:null
。是因为它是cr吗oss域?这里也一样。根据处理程序,还应该接收
ReferenceError
,但在最新的Chrome中,我得到了
null
作为第五个参数。我在这里卡住了。
Uncaught ReferenceError: foo is not defined
function handleError(evt) {
if (evt.message) { // Chrome sometimes provides this
  alert("error: "+evt.message +"  at linenumber: "+evt.lineno+" of file: "+evt.filename);
} else {
  alert("error: "+evt.type+" from element: "+(evt.srcElement || evt.target));
}
}
window.addEventListener("error", handleError, true);