我有一個複雜的ASP.NET頁面,大量使用jQuery進行DOM操作(無AJAX)。與IE 7或8相比,基於Mozilla的瀏覽器(Firefox)的頁面更快。爲什麼JQuery在IE中速度較慢?
是否有一些爲FF優化的功能?
我有一個複雜的ASP.NET頁面,大量使用jQuery進行DOM操作(無AJAX)。與IE 7或8相比,基於Mozilla的瀏覽器(Firefox)的頁面更快。爲什麼JQuery在IE中速度較慢?
是否有一些爲FF優化的功能?
的功率是在JavaScript處理引擎。與服務器端處理(PHP,ASP.net)不同,javascript是客戶端,這意味着訪問者的瀏覽器必須完成呈現頁面的工作。競爭對手試圖通過更快地處理諸如javascript之類的東西來讓人們切換到瀏覽器。
這導致所有瀏覽器擁有自己的處理引擎。這導致一些瀏覽器變慢。 IE:
Internet Explorer不使用Mozilla引擎,所以它比Firefox慢得多。 Internet Explorer被稱爲所有主要瀏覽器中較慢的引擎之一。
Firefox比Chrome瀏覽器慢,Chrome瀏覽器使用最高的Javascript引擎之一(Webkit的修改版)。
Safari我相信它是目前最快的渲染引擎。
Safari和Chrome具有相同的渲染引擎webkit。不同之處在於JavaScript引擎(與渲染引擎不同)。 – scheibk 2009-08-05 14:51:48
好吧,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/
一些通過瀏覽器的JavaScript基準測試:http://celtickane.com/labs/web-browser-javascript-benchmark/
這並不是說事情正在對Firefox進行了優化,它是在Firefox中的JavaScript解釋器像Safari和Chrome中的引擎一樣進行了大量優化。自從微軟贏得瀏覽器大戰之後,微軟一直忽視瀏覽器的開發,直到最近他們纔開始解決IE8中的性能問題,因爲它們失去了市場份額。
Here's how things looked for jQuery on various browsers in Sept. 2008.在第一個圖中,高藍條是比所有其他組合高的那個,它是IE7。這大概在IE中的JavaScript性能。
你在你的問題中表示它速度較慢,所以我編輯了標題以更好地反映你問題的癥結所在。 – 2009-08-05 15:13:18