我正在开发一个Web应用程序。我的应用程序在chrome和firefox上工作得很好,但是由于某些原因,在IE中出现了一些错误。即使出现了几个错误,应用程序仍然可以顺利运行,没有明显的问题。
我想隐藏最终用户的错误,因为目前他会看到一个显示错误的小图标。
我怎样才能做到这一点?
谢谢
答案 0 :(得分:6)
到目前为止,最好的办法是弄清楚代码导致错误的位置并修复它。
更新:以下内容适用于IE8,但不适用于IE9或IE11(因此IE10可能不适用):
因为这是在IE中特别发生的,所以可以使用window.onerror
来处理(抑制)它们,如果它们是运行时(不是编译)错误,那么从你对另一个答案的评论听起来像是他们。从那个链接:
要取消
window
事件的默认Internet Explorer错误消息,请将returnValue
对象的event
属性设置为true
,或者只返回true
在Microsoft JScript中。
onerror
事件会触发运行时错误,但不会触发编译错误。此外,返回true
不会抑制脚本调试程序引发的错误对话框。要关闭脚本调试程序,请通过从工具菜单中选择 Internet选项来禁用Internet Explorer中的脚本调试。点击高级标签,然后选中相应的复选框。
示例:强>
此代码导致错误(因为我试图取消引用undefined
):
document.getElementById('theButton').onclick = function() {
var d;
display(d.foo);
};
但是如果我们添加这个,那么错误会被抑制,因为我们告诉IE我们处理它:
window.onerror = function() {
// Return true to tell IE we handled it
return true;
};
答案 1 :(得分:2)
据我所知,没有真正的方法可以做到这一点,因为你将控制浏览器(AKA应用程序),这将是一件坏事。用户可以manually turn off those errors,或者您可以查看是否可以修复JavaScript。但是,除了这两个解决方案之外,我认为你运气不好。
答案 2 :(得分:2)
修复错误 - 大部分时间,只有IE浏览器才会出现微不足道的问题。对于这些情况,修复JSLint发现的问题有助于90%的内容:http://www.jslint.com/lint.html