IE在递归函数上显示Script错误

时间:2011-01-14 16:51:50

标签: javascript internet-explorer

Hy guys!

我有一个需要时间执行的递归函数。 IE正在“思考”该功能就像一个没有结束的循环。

如何让IE显示错误?

小伙子们!

2 个答案:

答案 0 :(得分:1)

你不能,这是大多数浏览器中的一个功能,如果他访问一个网页时使用javascript来限制他的cpu并因此杀死浏览器,那么就可以给用户一个出路。

解决它的唯一方法是性能优化你的代码,以便它更快:)

我假设“错误”看起来像这样,否则我的回答是错误的: alt text

答案 1 :(得分:0)

浏览器中的Javascript在单个线程中运行。如果您运行某些类型的代码(递归或其他),这些代码不会偶尔出现在浏览器中,浏览器将暂停脚本并询问用户是否要停止代码或继续。如果没有发生这种情况,则用户无法重新获得控制权(如果您希望长时间运行的代码在与UI相同的线程上运行,即网页)。这就是为什么ajax调用的结构是这样的,即代码不会等待(即阻塞)结果,而是回调函数,然后用结果回调。

那么你如何在长期运行的代码中屈服?有几种方法(ajax就是一个例子),但最流行的是以某种方式使用setTimeout。不幸的是,在不知道你在做什么的情况下解释如何使用它并不容易。我能给出的任何小例子都是人为的。

因此,对您的问题的严格回答是“将您的代码重写为执行块,例如t 没有一个块需要很长时间才能执行“。