2009-12-01 88 views
3

我一直有「CSS黑客」與「條件評論」論點足夠多的時間最近,我想我會把這個問題提出堆棧溢出社區。IE條件註釋會減慢頁面加載嗎?

<!--[if IE]> 
<link type="text/css" rel="stylesheet" href="ie-specific.css" /> 
<![endif]--> 

使用IE條件註釋的主要論點似乎是您要添加的每個頁面加載額外的HTTP請求,從而減慢你的頁面的顯示。 沒有能夠找到的是任何現實世界的指標,無論是證明還是反駁這個陳述。撇開多個樣式表與一個樣式表的維護論點(儘管這本身是一個有效的討論),這裏有人做過任何測試,以確定使用條件註釋給出的減速度有多少,或者能夠將我指向任何其他人收集的統計數據?

回答

7

這不是真的是關於條件註釋本身,它就像條件編譯。

的IE瀏覽器將看到您的網頁,包括

<link type="text/css" rel="stylesheet" href="ie-specific.css" /> 

(額外處理的一點點評估意見的條件)。

非IE瀏覽器只會在那裏看到評論。

所以唯一潛在的性能影響是IE瀏覽器需要評估條件註釋條件(這將會被忽略),然後會包含另一個CSS文件。當然,其他瀏覽器只是看到通用文件,並完全忽略評論。

接下來的問題是服務IE的優缺點,例如5Kb符合標準的CSS文件,然後是2Kb「黑客」文件,其他人只能得到5Kb文件; vs爲每個人提供一個7Kb文件,其中包含狡猾的CSS。根據各種因素,包括網絡速度和延遲,文件大小,整個頁面上使用的資源數量等等,這可能會或可能不會對IE情況下的性能產生顯着影響(這無疑會更快對於非IE用戶代理)。

與所有的性能問題,你必須配置文件在您的環境代碼,看看影響是什麼 - 但作爲一般準則我期望的影響可以忽略不計的IE瀏覽器,一個小的性能提升對於所有其他瀏覽器,以及能夠在實際文件中寫入「正確」CSS的模糊感,然後分別修復IE。

+0

好吧,Andrezej。謝謝。 – Scottie 2009-12-01 15:25:48