【发布时间】:2016-05-24 05:12:36
【问题描述】:
我已经构建了一个小的单页 Intranet 应用程序,该应用程序非常繁重 Javascript。它在 Chrome 和 Firefox 中运行良好,但是一旦你在 IE7/8 中加载它,界面就会变得非常缓慢。它具有各种 jQueryUI 小部件,例如可拖动和可调整大小的窗格,一旦您开始单击和拖动,帧速率就会下降到无法使用的区域。
在我尝试理解 IE8 开发人员工具之前,我可以在我的代码中检查 IE7/8 脚本引擎中是否有任何已知的陷阱?我看到对.innerHTML() 的引用非常慢,但我不知道是否还有其他我应该寻找的东西。
【问题讨论】:
-
“我看到对
.innerHTML()的引用非常慢” 相反,分配给innerHTML(这是一个属性 , 不是函数;没有()) 通常是向页面添加内容的最快方式,比使用createElement和appendChild快得多。这是因为解析 HTML 标记并将其转换为显示的内容基本上是浏览器所做的,并且它们经过高度优化可以做到这一点。相比之下,通过 DOM API 工作需要多次跨越 DOM/JavaScript 边界,并且需要浏览器将内部结构映射到 DOM 等价物。
标签: javascript jquery internet-explorer jquery-ui