window.onerror支持的工作位置?

时间:2018-04-24 08:12:21

标签: javascript error-handling

window.onerror是否需要位于当前正在加载的页面的head部分?

我有这段代码(Chrome 64.0.3282.140,linux):

<head>
<script  type="text/javascript">
     window.onerror = function (errorMsg, url, lineNumber) {
       alert(errorMsg + lineNumber);
       // alert("This is a stack trace! Wow! --> %s", error.stack);
     };
   </script>
</head>


<script type="text/javascript">
  //var x=document.getElementById("demo").value; //uncomment and run to see
  document.write('careless to close the parentheses?'; // ')' is not given
</script>
如果window.onerror位于页面的头部,那么

可以很好地工作,但是如果我将它移出<head></head>,它就会停止工作。如果我尝试将其移动到.js文件中,它也会停止工作。

有没有办法设置window.onError<head>或其他方式全局捕获来自头外的错误,最好是在单独的.js库文件中?

1 个答案:

答案 0 :(得分:2)

您必须确保docker stack deploy <stack name>文件必须是要执行的第一个代码。

这就是你把它放在window.onerror作品中的原因。

您可以将它放在正文中并将其他脚本放在其后面或将其他脚本代码放在

head
下面的

演示将它们放在正文中,window.onload=function(){ //other code } 是第一个脚本

window.onerror