javascript - 如何在 IE6 中使用自定义错误处理来维持 JavaScript 执行?

标签 javascript internet-explorer

我正在编写一个应用程序,该应用程序将拥有一些使用 Internet Explorer 6 的用户。这些使用 IE6 的用户将其浏览器设置为调试 JavaScript 错误。如果页面上发生 JS 错误,则会弹出一个窗口,询问用户是否要“继续在此页面上运行脚本”。

但是,我的应用程序有自己的内部 try/catch 系统,用于处理/记录错误并提示用户做什么。在我的错误处理系统中,我区分 fatal error 和非 fatal error 。对于非 fatal error ,系统会提示用户稍后重试,并且我们允许 JavaScript 继续执行。如果出现 fatal error (例如,渲染初始页面加载所需的数据丢失),JavaScript 执行将停止以防止出现进一步错误,并提示用户重新加载页面。

IE6 的问题是,当打开脚本调试时,无论如何,JavaScript 执行都会停止——用户没有机会按下“是,继续在此页面上运行脚本”。因此,即使错误不是致命的,游戏也结束了,用户必须重新加载页面。

有谁知道解决这个问题并防止 IE6 停止 JavaScript 执行的方法吗?不幸的是,要求我的用户更改他们的 IE 设置不是一个选项。

最佳答案

我觉得我们一开始就走错了路,我认为这是一个值得回答的有效问题。为您深入研究这个问题 - 您想要完成的任务本质上是向客户端提供 IE6 特定指令以停止异常冒泡

有一篇关于 IE6 调试器及其相关脚本位的有用(也许)文章:

概述:http://blogs.msdn.com/b/ie/archive/2004/10/26/247912.aspx

调试器指令 MSDN:http://msdn.microsoft.com/en-us/library/0bwt76sk(vs.71).aspx

您可以在其中找到对 Debugger 和 Stop 指令的引用。这是一篇旧文章 (04),它是我能找到的与您的问题最相关的文章。祝你好运。

关于javascript - 如何在 IE6 中使用自定义错误处理来维持 JavaScript 执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9610858/

相关文章:

javascript - 将 Angular 1.x 与 TypeScript 1.5 和 SystemJS 结合使用

javascript - 如何通过函数的参数传递对象?

javascript - “ngMessages”未在 Angular js中实例化

javascript - IE 11 中的 PDF 查看器与顶部下拉滚动条重叠

internet-explorer - 隐藏的 popupPanel 内的 Richfaces dataTable 渲染不良

javascript - 从 Javascript 访问在服务器端创建的 Cookie

javascript - 我不明白 Eloquent js "a list"练习(我有一些奇怪的结果)

javascript - JavaScript 中的 ActiveXObject 问题

html - ASP.NET 在图像 Url 属性中动态设置主题名称

javascript - AngularJS Bootstrap 下拉菜单在 IE 11 中不起作用