簡體   English   中英

我的網站在IE上運行緩慢的主要原因可能是什么?

[英]What are the likely main reasons my website is very slow on IE?

我需要知道什么可能是主要原因(除了對CSS選擇器進行分組,減小圖像大小,使用圖像精靈等基礎知識之外),這會使網站在Internet Explorer上變慢,因為我的網站在FF等其他網站上都能正常工作,鉻等

  1. 它是否大量使用了Javascript框架(即jQuery,extjs,prototype)?
  2. 是因為使用了基於JS框架的插件嗎?
  3. 我應該使用核心javascript並刪除任何js框架嗎?
  4. 我應該避免使用jQuery(document).ready()嗎? 如果是jQuery框架?

在我所知道的一些問題之上,請回答由於對這些知識的了解較少而無法提出的問題。

我需要使我的網站在IE(6,7,8)上表現良好,也請提出建議。

謝謝

它與jQuery無關。 但是,這些插件很容易碰到,可能無法在IE中進行良好的測試。 我會自擔風險。

在IE中,DOM操作非常緩慢。 使用appendChild(或insertRow)添加多個節點(例如,一個長列表為100+)比構建一個字符串並執行一個innerHTML要慢得多。

您還需要注意如何訪問節點。 開發人員往往過於依賴jQuery,並通過其類名搜索節點,例如:

$(".evenRows").hover(doSomething);

IE沒有通過類名獲取節點的本地方法,因此JQ遍歷整個文檔和每個單個元素並檢查其類名...這需要通過RegExp進行檢查,因為它可能類似於:

class="evenRows yellow foo bar"

最后,盡管有所改進,但IE8仍使用舊的渲染引擎-與IE6相同。 不要對動畫發狂,不要期待奇跡。

由於MSIE的默認限制為2個並發連接,因此應盡量減少構建頁面所需的請求數(使用css-sprites,將js和css文件合並為一個文件)

雖然您需要加快IE的速度,但仍然可以使用Firebug查找消耗資源的位置。

  • 安裝Yslow並查看其內容
  • 在探查器下運行該站點(Yslow或Firebug有一個),並查找瓶頸

要回答這樣的一般問題非常困難,但是jQuery不太可能成為減慢一切的一種方法,請記住

  • 盡可能使用ID作為選擇器-它們是最快的,即$('#myid')
  • 避免使用沒有標記名的.class選擇器,即$('div.myclass')可以比$('.myclass')快十倍。

等等

使用jQuery獲得更好性能的更多技巧

通常,較早版本的IE會比早期版本的IE運行JavaScript慢,因為自那時以來,JavaScript的編譯速度已有所提高。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM