2009-08-05 70 views
5

我有一個複雜的ASP.NET頁面,大量使用jQuery進行DOM操作(無AJAX)。與IE 7或8相比,基於Mozilla的瀏覽器(Firefox)的頁面更快。爲什麼JQuery在IE中速度較慢?

是否有一些爲FF優化的功能?

+0

你在你的問題中表示它速度較慢,所以我編輯了標題以更好地反映你問題的癥結所在。 – 2009-08-05 15:13:18

回答

8

的功率是在JavaScript處理引擎。與服務器端處理(PHP,ASP.net)不同,javascript是客戶端,這意味着訪問者的瀏覽器必須完成呈現頁面的工作。競爭對手試圖通過更快地處理諸如javascript之類的東西來讓人們切換到瀏覽器。

這導致所有瀏覽器擁有自己的處理引擎。這導致一些瀏覽器變慢。 IE:

Internet Explorer不使用Mozilla引擎,所以它比Firefox慢得多。 Internet Explorer被稱爲所有主要瀏覽器中較慢的引擎之一。

Firefox比Chrome瀏覽器慢,Chrome瀏覽器使用最高的Javascript引擎之一(Webkit的修改版)。

Safari我相信它是目前最快的渲染引擎。

你可以看到這篇文章從PCWorld更多的統計數據,以及here

+2

Safari和Chrome具有相同的渲染引擎webkit。不同之處在於JavaScript引擎(與渲染引擎不同)。 – scheibk 2009-08-05 14:51:48

7

好吧,JavaScript引擎本身在Firefox中速度更快,所以自然會擴展到jQuery更快。

 
Web Browser    Average Runtime  Relative 
-----------    ---------------  -------- 
Safari 4.0.2 (530.19.1)  169   1x (fastest) 
Chrome 2.0.172.33    349   2.1x slower 
Firefox 3.5     377   2.2x slower 
Opera 9.64 (10487)    442   2.6x slower 
IE 8.0       771   4.6x slower 

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

3

這並不是說事情正在對Firefox進行了優化,它是在Firefox中的JavaScript解釋器像Safari和Chrome中的引擎一樣進行了大量優化。自從微軟贏得瀏覽器大戰之後,微軟一直忽視瀏覽器的開發,直到最近他們纔開始解決IE8中的性能問題,因爲它們失去了市場份額。

Here's how things looked for jQuery on various browsers in Sept. 2008.在第一個圖中,高藍條是比所有其他組合高的那個,它是IE7。這大概在IE中的JavaScript性能。

相關問題