为什么在IE浏览器中Jquery运行速度较慢?

5

我有一个复杂的ASP.NET页面,使用了大量的jQuery进行DOM操作(没有使用AJAX)。在Mozilla浏览器(Firefox)中,该页面比IE 7或8更快。

是否有一些函数在Firefox上进行了优化?


你在问题中提到它确实较慢,因此我已编辑标题以更好地反映你问题的关键。 - James McMahon
4个回答

8

这种强大的处理引擎是基于JavaScript的。与服务器端处理(如PHP、ASP.net)不同,JavaScript是客户端处理的,这意味着您的访问者浏览器必须完成呈现页面的所有工作。竞争对手试图通过宣称更快地处理JavaScript等内容来吸引人们切换到他们的浏览器。

这导致所有浏览器都有自己的处理引擎。这也导致一些浏览器速度较慢。例如IE:

Internet Explorer不使用Mozilla引擎,因此比Firefox慢得多。Internet Explorer被认为是所有主要浏览器中处理引擎最慢的之一。

Firefox比Chrome慢,而Chrome则拥有最高的JavaScript引擎之一(Webkit的修改版本)。

我认为Safari目前是最快的渲染引擎。

您可以在PCWorld上查看更多统计数据,以及这里


3
Safari和Chrome使用相同的渲染引擎Webkit,区别在于它们使用不同的JavaScript引擎(与渲染引擎不同)。 - scheibk

7

嗯,Firefox浏览器中的JavaScript引擎本身更快,因此jQuery在Firefox中的速度自然更快。

Web浏览器               平均运行时间     相对速度
-----------               ---------------     --------
Safari 4.0.2 (530.19.1)        169          1x(最快的)
Chrome 2.0.172.33              349          2.1倍较慢
Firefox 3.5                    377          2.2倍较慢
Opera 9.64 (10487)             442          2.6倍较慢
IE 8.0                         771          4.6倍较慢

来源: http://celtickane.com/labs/web-browser-javascript-benchmark/


4

3

并不是事物被优化为FireFox,而是FireFox中的JavaScript解释器以及Safari和Chrome中的引擎都经过了大量优化。由于赢得浏览器战争,微软已经忽视了浏览器开发一段时间,直到最近由于市场份额的损失才开始解决IE8中的性能问题。

这里是jQuery在各种浏览器上的情况(2008年9月)。 在第一个图表中,那个高大的蓝色条,比其他所有条都高,就是IE7。这基本上概括了IE中的JavaScript性能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接