如何在IE6中通过自定义错误处理来维持JavaScript执行?

如何在IE6中通过自定义错误处理来维持JavaScript执行?,javascript,internet-explorer,Javascript,Internet Explorer,我正在编写一个应用程序,它将在InternetExplorer6上拥有一些用户。IE6上的这些用户将浏览器设置为调试JavaScript错误。如果页面上出现JS错误,将弹出一个窗口,询问用户是否希望“继续在此页面上运行脚本” 但是,我的应用程序有自己的内部try/catch系统,用于处理/记录错误并提示用户做什么。在我的错误处理系统中,我区分致命错误和非致命错误。如果出现非致命错误,系统会提示用户稍后重试,我们允许JavaScript继续执行。如果出现致命错误(例如,缺少呈现初始页面加载所需的数

我正在编写一个应用程序,它将在InternetExplorer6上拥有一些用户。IE6上的这些用户将浏览器设置为调试JavaScript错误。如果页面上出现JS错误,将弹出一个窗口,询问用户是否希望“继续在此页面上运行脚本”

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

IE6的问题是,当脚本调试打开时,JavaScript执行会停止,不管发生什么情况——用户没有机会按下“是,继续在此页面上运行脚本”。所以,即使错误不是致命的,游戏结束了,用户也必须重新加载页面


有人知道如何绕过这个问题并防止IE6停止JavaScript执行吗?不幸的是,要求我的用户更改他们的IE设置不是一个选项。

我觉得我们走错了路,我认为这是一个值得回答的有效问题。为您深入研究这个问题—您试图完成的是向客户机发出一个IE6特定的指令,以停止异常冒泡

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

概述:

调试器指令MSDN:


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

对任何输入数据执行更彻底的检查。错误根本不应该出现


BTW,考虑使用JSONP而不是XHR——不加载文件(JSONP)不应该触发JS异常。

不可能,某些错误将永远阻止IE6中的JavaScript执行。

我现在看到您所说的——所以这是从异步请求/响应生成的吗?如果是这样的话,您不是在为IE6客户端使用
XMLHttpRequest
,对吗?如果你是-这就是你在IE6中的问题所在,你需要使用activeX对象来实现asnyc位n段。我真的误解了你想要实现的目标!我建议在问题中添加一个“编码实践”标签。一个想法是:调试模式的目的是停止页面处理,以便您可以检查@hand的问题。这是一个“特性”而不是一个“bug”-你可能会发现你自己正试图用谚语“把狐狸赶出去”。祝你好运我觉得你读得太快了。您指出:“**IE6的问题是,当脚本调试打开时**”-修改该行为可能超出安全模型。我提到的“调试”是您提到的IE6本机模式。这是一个应用程序的“特性”,我不知道你的情况的背景,但是IE6在几个月前被正式宣布死亡,所以你不必再支持它了。当然,如果你仍然有IE6用户,那么你别无选择。。。