|
二、我們從代碼方面來探討有如下方法 1.減少http請求數(shù) 圖片,css,script,flash,等等這些都會增加http請求數(shù),減少這些元素的數(shù)量能減少響應(yīng)時間。 CSS Sprites技術(shù)能減少圖片的請求數(shù),把零散的小圖片放到一起,運用background-position來改變背景圖片的位置,前提是html元素事先定義好寬高,其實就像一個遮罩,移動背景就會看到不同的景象。 內(nèi)嵌圖像 用data:URL scheme的方式把圖片內(nèi)容代碼直接嵌入html代碼中,這樣會增大html代碼的體積,改進的方式是把內(nèi)嵌圖片嵌入到css中(css被緩存),這樣就會更好的減少http請求數(shù)而且不增大html的體積。 很多用戶都是在空緩存的情況下進入你的網(wǎng)站的,這樣第一次的速度就會顯得很重要。 第一條規(guī)則是最重要的一條規(guī)則。 2.把樣式表放到頂部 我們發(fā)現(xiàn)把css放到文檔頭部會讓網(wǎng)頁加載得更快。因為這樣可以讓頁面逐漸加載。 3.把腳本放到底部 把腳本放到盡可能底部的地方,一個原因是讓頁面逐漸渲染,另一個是實現(xiàn)更好的并行下載。 對于腳本,腳本以下的內(nèi)容被阻止逐漸加載了,因為只有當下載完腳本以后才會下載下面的內(nèi)容,第二個腳本引起的問題是阻止平行下載。 “http/1.1 specification”建議瀏覽器對一個域名, 同一時間下載數(shù)不超過2個(按:實際監(jiān)測發(fā)現(xiàn)一般有超過2個),我曾經(jīng)讓ie并行下載100個圖片。 當腳本正在下載的時候,瀏覽器不會開始下載任何東西。 4.避免css expressions css expressions 是一個有力(和危險)的方式動態(tài)的改變css的屬性。他們自ie5就開始被支持,舉個例子,用css expression可以讓背景色每個小時輪換一次。但是被非ie瀏覽器忽略的。 background-color: expression( (new Date()).getHours()%2 ? “#B8D4FF” : “#F08A00″ ); expressions的問題就在與它的計算頻率絕對超出我們的想象,甚至當我們移動鼠標,都會引起頁面的重繪! 下面是舉例頁面 減少css expressions計算次數(shù)的一個方法就是使用一次性的expressions。 當?shù)谝淮蝒xpression計算出一個明確的值,就讓樣式等于這個值,不再變動。如果樣式的屬性一定要動態(tài)的改變,就用時間句柄吧! 5.讓腳本和樣式外延 Javascript和CSS應(yīng)該是外部調(diào)用還是內(nèi)嵌呢? 6.減小腳本體積 有兩個比較流行的工具是用來減小腳本的體積的–JSMin和YUI Compressor。(按:這個壓縮和Gzip壓縮是不一樣的,Gzip是傳輸壓縮,這個是代碼壓縮)。 我們以上方法,讀者應(yīng)該適當?shù)倪x擇或配合使用,我們在選擇方法的原則是應(yīng)該以最低的代價來完成客戶端的功能。 原文:http://hi.baidu.com/mj_623ok/blog/item/a843d8de288d601b632798b8.html |
|
|