我有一个需要在所有浏览器中运行的循环执行。
在 chrome/ff 等中,执行运行得又快又好。在 IE 中它很慢,最后会发出一个提示说脚本运行缓慢(不好)。
关于如何解决此类问题的任何想法?我主要只需要摆脱 7/8 的 IE 提示
** 编辑 **
代码如下:
if(this.handicap()) {
while(this.hasGraphChanged()) {
this.gravity(this.separate());
}
}
这是一个非常大的项目,因此我不会列出所有代码,而是进行快速解释。
this.handicap: 如果浏览器是 IE7/8 则返回 true this.hasChanged:返回 true/false 取决于绘制更新后是否有变化 this.gravity: 处理基于p1(array)的绘图算法
最佳答案
您可以使用一些异步迭代技术来代替循环。 watch Asynchronous Iteration Patterns Pedro Teixeira 的精彩介绍。它使用 Node.js,但您可以在浏览器中使用相同的模式。
关于javascript - 循环对于 IE7/8 来说太慢了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5095161/