2011-01-31 36 views
7

我有一个页面,其中的神秘JavaScript错误不断弹出。它们似乎来自我们使用的应用程序,并不拥有它的来源。我正在研究这个问题的一个真正的解决方案,但是我们明天有一个演示,我想知道是否有一种方法可以将页面范围内的JS错误全部抑制掉(就像在一个巨大的try catch中包装所有的javascript组件一样)。有没有办法尝试/动态捕捉整个页面?

+1

什么是一个巨大的尝试捕捉该怎么办?它会让你的代码无声地失败,无法正常工作。 – 2011-01-31 02:50:56

+0

@马特很好,它是否适合演示...查看更多信息[这里](http://stackoverflow.com/questions/2822397/suppress-done-but-with-errors-on-page-in-ie )。一个巨大的try/catch似乎是选择 – 2011-01-31 02:52:43

回答

9

你可以一个处理程序添加到window.onerror事件。在这种情况下,窗口内发生的所有错误将被重定向到此事件的处理程序。 (我没有测试这在Firefox和它的工作,但我有Chrome浏览器与它的麻烦 - 我的Chrome安装是相当弄乱了,所以这可能是问题,但也有提交,涉及到这个问题,铬错误:bug #7771bug #8939

window.onerror = function (msg, url, line) { 
    alert("Error on line " + line + " in " + url + ":\n" + msg); 
    // return true to prevent browser from displaying error 
    return true; 
}