Jquery ui 为什么JqueryUI';在IE中按钮慢了吗?
我一直在追踪一个javascript应用程序的性能问题(在IE中,更糟的是),我能够追踪到jQueryUI按钮特性。我已经创建了一个显示该问题的文档。问题分为三个部分: 首先,按钮的生成速度非常慢。在IE8下,该页面在5秒多的时间内生成800个按钮,而当我禁用按钮功能时,大约需要700毫秒。更糟糕的是,每次创建/删除周期都会变得越来越慢。相比之下,在Chrome中,使用按钮功能只需不到一秒钟(约600毫秒),而不使用按钮功能则需要50毫秒。这两款浏览器的速度都降低了10倍 其次,删除/销毁所有这些按钮也很慢。我使用容器上的Jquery ui 为什么JqueryUI';在IE中按钮慢了吗?,jquery-ui,internet-explorer,Jquery Ui,Internet Explorer,我一直在追踪一个javascript应用程序的性能问题(在IE中,更糟的是),我能够追踪到jQueryUI按钮特性。我已经创建了一个显示该问题的文档。问题分为三个部分: 首先,按钮的生成速度非常慢。在IE8下,该页面在5秒多的时间内生成800个按钮,而当我禁用按钮功能时,大约需要700毫秒。更糟糕的是,每次创建/删除周期都会变得越来越慢。相比之下,在Chrome中,使用按钮功能只需不到一秒钟(约600毫秒),而不使用按钮功能则需要50毫秒。这两款浏览器的速度都降低了10倍 其次,删除/销毁所有这
empty()
方法来清理所有按钮,并最终调用按钮上的destroy
。该操作在IE8下大约需要5秒,在Chrome中需要500毫秒。一旦我删除jquery按钮特性,IE8需要200毫秒,Chrome需要30-40毫秒。这是一个20倍的慢下来,比生成按钮本身更糟糕
第三,按钮功能似乎在IE中造成了巨大的内存泄漏。反复创建和删除按钮会导致内存使用率不断上升,但再次删除按钮功能可以解决这一问题
有人能解释这种行为吗?这是jQueryUI中应该报告的性能问题还是我遇到了陷阱?有解决办法吗
注意:当我说我删除按钮功能时,并不是我从文档中删除了
元素,而是我删除了对jqueryUI按钮功能的调用:
.button({
'text': true
})
你已经发现IE很烂。欢迎来到俱乐部。我们有引脚。只需按ctrl+F4,所有问题都会得到解决!我知道在那之前我很烂。。。问题是,这不是一个IE相关的问题。没错,IE的速度要慢得多,但正如我注意到的,在Chrome中使用按钮的速度还是慢了10倍。