直播中
隨著帶寬的提高,網(wǎng)頁(yè)上的對(duì)象也越來(lái)越多,因此加快網(wǎng)頁(yè)打開(kāi)速度還是一個(gè)重要的課題。加快網(wǎng)頁(yè)的打開(kāi)速度,有三個(gè)路徑,一是提高網(wǎng)絡(luò)帶寬,二是用戶在本機(jī)做優(yōu)化,三是網(wǎng)站設(shè)計(jì)者對(duì)網(wǎng)頁(yè)做一定的優(yōu)化。這篇文章站在一個(gè)網(wǎng)站設(shè)計(jì)者的角度,分享一些優(yōu)化網(wǎng)頁(yè)加載速度的小技巧。
一、優(yōu)化圖片
幾乎沒(méi)有哪個(gè)網(wǎng)頁(yè)上是沒(méi)有圖片的。如果你經(jīng)歷過(guò)56K貓的年代,你一定不會(huì)很喜歡有大量圖片的網(wǎng)站。因?yàn)榧虞d那樣一個(gè)網(wǎng)頁(yè)會(huì)花費(fèi)大量的時(shí)間。
即使在現(xiàn)在,網(wǎng)絡(luò)帶寬有了很多的提高,56K貓逐漸淡出,優(yōu)化圖片以加快網(wǎng)頁(yè)速度還是很有必要的。
優(yōu)化圖片包括減少圖片數(shù)、降低圖像質(zhì)量、使用恰當(dāng)?shù)母袷健?
1、減少圖片數(shù):去除不必要的圖片。
2、降低圖像質(zhì)量:如果不是很必要,嘗試降低圖像的質(zhì)量,尤其是jpg格式,降低5%的質(zhì)量看起來(lái)變化不是很大,但文件大小的變化是比較大的。
3、使用恰當(dāng)?shù)母袷剑赫?qǐng)參閱下一點(diǎn)。
因此,在上傳圖片之前,你需要對(duì)圖片進(jìn)行編輯,如果你覺(jué)得photoshop太麻煩,可以試試一些在線圖片編輯工具。懶得編輯而又想圖片有特殊的效果?可以試試用過(guò)調(diào)用&#106avascript來(lái)實(shí)現(xiàn)圖片特效。
二、圖像格式的選擇
一般在網(wǎng)頁(yè)上使用的圖片格式有三種,jpg、png、gif.三種格式的具體技術(shù)指標(biāo)不是這篇文章探討的內(nèi)容,我們只需要知道在什么時(shí)候應(yīng)該使用什么格式,以減少網(wǎng)頁(yè)的加載時(shí)間。
1、JPG:一般用于展示風(fēng)景、人物、藝術(shù)照的攝影作品。有時(shí)也用在電腦截屏上。
2、GIF:提供的顏色較少,可用在一些對(duì)顏色要求不高的地方,比如網(wǎng)站logo、按鈕、表情等等。當(dāng)然,gif的一個(gè)重要的應(yīng)用是動(dòng)畫(huà)圖片。就像用Lunapic制作的倒映圖片。
3、PNG:PNG格式能提供透明背景,是一種專(zhuān)為網(wǎng)頁(yè)展示而發(fā)明的圖片格式。一般用于需要背景透明顯示或?qū)D像質(zhì)量要求較高的網(wǎng)頁(yè)上。
三、優(yōu)化CSS
CSS疊層樣式表讓網(wǎng)頁(yè)加載起來(lái)更高效,瀏覽體驗(yàn)也得到提高。有了CSS,表格布局的方式可以退休了。
但有時(shí)我們?cè)趯?xiě)CSS的時(shí)候會(huì)使用了一些比較羅嗦的語(yǔ)句,比如這句:
margin-top: 10px;
margin-right: 20px;
margin-bottom: 10px;
margin-left: 20px;
你可以將它簡(jiǎn)化為:
margin: 10px 20px 10px 20px;
又或者這句:
<p class="decorated">A paragraph of decorated text</p>
<p class="decorated">Second paragraph</p>
<p class="decorated">Third paragraph</p>
<p class="decorated">Forth paragraph</p>
可以用div來(lái)包含:
<div class="decorated">
<p>A paragraph of decorated text</p>
<p>Second paragraph</p>
<p>Third paragraph</p>
<p>Forth paragraph</p>
</div>
簡(jiǎn)化CSS能去除冗余的屬性,提高運(yùn)行效率。如果你寫(xiě)好CSS后懶得去做簡(jiǎn)化,你可以使用一些在線的簡(jiǎn)化CSS工具,比如CleanCSS.
四、網(wǎng)址后加斜杠
有些網(wǎng)址,比如 ,當(dāng)服務(wù)器收到這樣一個(gè)地址請(qǐng)求的時(shí)候,它需要花費(fèi)時(shí)間去確定這個(gè)地址的文件類(lèi)型。如果web是一個(gè)目錄,不妨在網(wǎng)址后多加一個(gè)斜杠,讓其變成 /,這樣服務(wù)器就能一目了然地知道要訪問(wèn)該目錄下的index或default文件,從而節(jié)省了加載時(shí)間。
五、標(biāo)明高度和寬度
這點(diǎn)很重要,但很多人由于懶惰或其它原因,總是將其忽視。當(dāng)你在網(wǎng)頁(yè)上添加圖片或表格時(shí),你應(yīng)該指定它們的高度和寬度,也就是height和width參數(shù)。如果瀏覽器沒(méi)有找到這兩個(gè)參數(shù),它需要一邊下載圖片一邊計(jì)算大小,如果圖片很多,瀏覽器需要不斷地調(diào)整頁(yè)面。這不但影響速度,也影響瀏覽體驗(yàn)。
下面是一個(gè)比較友好的圖片代碼:
?。糹mg id="moon" height="200" width="450" src=" />
當(dāng)瀏覽器知道了高度和寬度參數(shù)后,即使圖片暫時(shí)無(wú)法顯示,頁(yè)面上也會(huì)騰出圖片的空位,然后繼續(xù)加載后面的內(nèi)容。從而加載時(shí)間快了,瀏覽體驗(yàn)也更好了。
六、減少http請(qǐng)求
當(dāng)瀏覽者打開(kāi)某個(gè)網(wǎng)頁(yè),瀏覽器會(huì)發(fā)出很多對(duì)象請(qǐng)求(圖像、腳本等等),視乎網(wǎng)絡(luò)延時(shí)情況,每個(gè)對(duì)象加載都會(huì)有所延遲。如果網(wǎng)頁(yè)上對(duì)象很多,這可以需要花費(fèi)大量的時(shí)間。
因此,要為http請(qǐng)求減負(fù)。如何減負(fù)?
1、去除一些不必要的對(duì)象。
2、將臨近的兩張圖片合成一張。
3、合并CSS
看看下面這段代碼,需要加載三個(gè)CSS:
<link rel="stylesheet" type="text/css" href="/body.css" />
<link rel="stylesheet" type="text/css" href="/side.css" />
<link rel="stylesheet" type="text/css" href="/footer.css" />
我們可以將其合成一個(gè):
<link rel="stylesheet" type="text/css" href="/style.css" />
從而減少http請(qǐng)求。
七、其它小技巧(譯者添加)
1、去除不必要加載項(xiàng)。
2、如果在網(wǎng)頁(yè)上嵌入了其它網(wǎng)站的widget,如果有選擇余地,一定要選擇速度快的。
3、盡量用圖片代替flash,這對(duì)SEO也有好處。
4、有些內(nèi)容可以靜態(tài)化就將其靜態(tài)化,以減少服務(wù)器的負(fù)擔(dān)。
5、統(tǒng)計(jì)代碼放在頁(yè)尾。