2017-03-22 分類(lèi): 網(wǎng)站建設(shè)
我對(duì)于Web網(wǎng)站開(kāi)發(fā)開(kāi)有很多年的實(shí)踐經(jīng)驗(yàn),提供網(wǎng)站相應(yīng)速度一直是網(wǎng)站開(kāi)發(fā)人員孜孜不倦的追求,無(wú)論后端程序的優(yōu)化,數(shù)據(jù)庫(kù)的優(yōu)化,還是前端的優(yōu)化,最終目的只有一個(gè),讓網(wǎng)站更快的打開(kāi),給用戶(hù)提供更好的瀏覽體驗(yàn),這里只介紹從前端人員的角度來(lái),在網(wǎng)站建設(shè)中要注意的一些原則。
1、減少網(wǎng)站的HTTP請(qǐng)求數(shù)
構(gòu)造請(qǐng)求、等待響應(yīng)需要時(shí)間,因此請(qǐng)求數(shù)量越少越好,減少請(qǐng)求的總體思路就是合并資源,減少顯示一個(gè)頁(yè)面需要的文件數(shù),常規(guī)的方法有:
1.1 Image Map
通過(guò)設(shè)置標(biāo)簽的usemap屬性與使用
1.2. CSS Sprite(CSS貼圖整合/貼圖拼合/貼圖定位)
通過(guò)設(shè)置元素的background-position樣式做到。一般用于界面圖標(biāo)。典型的可以參考TinyMCE編輯器上方的那些小按鈕。多個(gè)小圖實(shí)質(zhì)是從一個(gè)統(tǒng)一的大圖通過(guò)不同的偏移量裁剪而來(lái),這樣加載界面上的眾多按鈕實(shí)際上只要請(qǐng)求一次(請(qǐng)求大圖一次),從而減少HTTP請(qǐng)求數(shù)。
2、 使用Gzip壓縮
使用Gzip壓縮HTTP報(bào)文,減小體積,減少傳輸時(shí)間。
3、 將css樣式表文件置于頁(yè)面前部
先加載樣式表,這樣頁(yè)面渲染得以較早開(kāi)始,給用戶(hù)頁(yè)面加載較快的感覺(jué),所以css最好放在
之間。4、將Js腳本放在頁(yè)面底部
原因同3,先處理頁(yè)面顯示,頁(yè)面渲染較早完成,而腳本邏輯稍后執(zhí)行,這樣給用戶(hù)頁(yè)面加載較快的感覺(jué)。
5、避免使用CSS表達(dá)式
過(guò)于復(fù)雜的JavaScript腳本邏輯、DOM查找、選擇操作將會(huì)降低頁(yè)面處理效率。
6、將JavaScript與CSS作為外聯(lián)資源
這似乎與原則1中的合并思想相悖,但其實(shí)不然:考慮每個(gè)頁(yè)面都引入了一個(gè)公共的JavaScript資源(例如jQuery或是ExtJS這樣的JavaScript庫(kù)),單就一個(gè)頁(yè)面的表現(xiàn)來(lái)看,內(nèi)聯(lián)(即將JavaScript嵌入HTML)頁(yè)面將比外聯(lián)(使用