Hy guys!
我有一个需要时间执行的递归函数。 IE正在“思考”该功能就像一个没有结束的循环。
如何让IE显示错误?
小伙子们!
答案 0 :(得分:1)
你不能,这是大多数浏览器中的一个功能,如果他访问一个网页时使用javascript来限制他的cpu并因此杀死浏览器,那么就可以给用户一个出路。
解决它的唯一方法是性能优化你的代码,以便它更快:)
我假设“错误”看起来像这样,否则我的回答是错误的:
答案 1 :(得分:0)
浏览器中的Javascript在单个线程中运行。如果您运行某些类型的代码(递归或其他),这些代码不会偶尔出现在浏览器中,浏览器将暂停脚本并询问用户是否要停止代码或继续。如果没有发生这种情况,则用户无法重新获得控制权(如果您希望长时间运行的代码在与UI相同的线程上运行,即网页)。这就是为什么ajax调用的结构是这样的,即代码不会等待(即阻塞)结果,而是回调函数,然后用结果回调。
那么你如何在长期运行的代码中屈服?有几种方法(ajax就是一个例子),但最流行的是以某种方式使用setTimeout。不幸的是,在不知道你在做什么的情况下解释如何使用它并不容易。我能给出的任何小例子都是人为的。
因此,对您的问题的严格回答是“将您的代码重写为执行块,例如t 没有一个块需要很长时间才能执行“。