天天看點

提高網頁打開速度的一些小技巧

網際網路帶寬越來越寬,似乎讓網頁的加載速度得到了質的飛躍。其實不然,因為随着帶寬的提高,網頁上的對象也越來越多,是以加快網頁打開速度還是一個重要的 課題。加快網頁的打開速度,有三個路徑,一是提高網絡帶寬,二是使用者在本機做優化,三是網站設計者對網頁做一定的優化。這篇文章站在一個網站設計者的角 度,分享一些優化網頁加載速度的小技巧。

一、優化圖檔

幾乎沒有哪個網頁上是沒有圖檔的。如果你經曆過56k貓的年代,你一定不會很喜歡有大量圖檔的網站。因為加載那樣一個網頁會花費大量的時間。

即使在現在,網絡帶寬有了很多的提高,56k貓逐漸淡出,優化圖檔以加快網頁速度還是很有必要的。

優化圖檔包括減少圖檔數、降低圖像品質、使用恰當的格式。

1、減少圖檔數:去除不必要的圖檔。

2、降低圖像品質:如果不是很必要,嘗試降低圖像的品質,尤其是jpg格式,降低5%的品質看起來變化不是很大,但檔案大小的變化是比較大的。

3、使用恰當的格式:請參閱下一點。

是以,在上傳圖檔之前,你需要對圖檔進行編輯,如果你覺得photoshop太麻煩,可以試試一些線上圖檔編輯工具。懶得編輯而又想圖檔有特殊的效果?可以試試用過調用javascript來實作圖檔特效。

二、圖像格式的選擇

一般在網頁上使用的圖檔格式有三種,jpg、png、gif。三種格式的具體技術名額不是這篇文章探讨的内容,我們隻需要知道在什麼時候應該使用什麼格式,以減少網頁的加載時間。

1、jpg:一般用于展示風景、人物、藝術照的攝影作品。有時也用在電腦截屏上。

2、gif:提供的顔色較少,可用在一些對顔色要求不高的地方,比如網站logo、按鈕、表情等等。當然,gif的一個重要的應用是動畫圖檔。就像用lunapic制作的倒映圖檔。

3、png:png格式能提供透明背景,是一種專為網頁展示而發明的圖檔格式。一般用于需要背景透明顯示或對圖像品質要求較高的網頁上。

三、優化css

css疊層樣式表讓網頁加載起來更高效,浏覽體驗也得到提高。有了css,表格布局的方式可以退休了。

但有時我們在寫css的時候會使用了一些比較羅嗦的語句,比如這句:

margin-top: 10px;

margin-right: 20px;

margin-bottom: 10px;

margin-left: 20px;

你可以将它簡化為:

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來包含:

<div class="decorated">

<p>a paragraph of decorated text </p>

<p>second paragraph </p>

<p>third paragraph </p>

<p>forth paragraph </p>

</div>

簡化css能去除備援的屬性,提高運作效率。如果你寫好css後懶得去做簡化,你可以使用一些線上的簡化css工具,比如cleancss。

四、網址後加斜杠

有些網址,比如"www.kenengba.com/220",當伺服器收到這樣一個位址請求的時候,它需要花費時間去确定這個位址的檔案類型。如果 220是一個目錄,不妨在網址後多加一個斜杠,讓其變成www.kenengba.com/220/,這樣伺服器就能一目了然地知道要通路該目錄下的 index或default檔案,進而節省了加載時間。

五、标明高度和寬度

這點很重要,但很多人由于懶惰或其它原因,總是将其忽視。當你在網頁上添加圖檔或表格時,你應該指定它們的高度和寬度,也就是height和width參 數。如果浏覽器沒有找到這兩個參數,它需要一邊下載下傳圖檔一邊計算大小,如果圖檔很多,浏覽器需要不斷地調整頁面。這不但影響速度,也影響浏覽體驗。

下面是一個比較友好的圖檔代碼:

<img id="moon" height="200" width="450" src="http://www.kenengba.com/moon.png" alt="moon image" />

當浏覽器知道了高度和寬度參數後,即使圖檔暫時無法顯示,頁面上也會騰出圖檔的空位,然後繼續加載後面的内容。進而加載時間快了,浏覽體驗也更好了。

六、減少http請求

當浏覽者打開某個網頁,浏覽器會發出很多對象請求(圖像、腳本等等),視乎網絡延時情況,每個對象加載都會有所延遲。如果網頁上對象很多,這可以需要花費大量的時間。

是以,要為http請求減負。如何減負?

1、去除一些不必要的對象。

2、将臨近的兩張圖檔合成一張。

3、合并css

看看下面這段代碼,需要加載三個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" />

我們可以将其合成一個:

<link rel="stylesheet" type="text/css" href="/style.css" />

進而減少http請求。

七、其它小技巧(譯者添加)

1、去除不必要附加元件。

2、如果在網頁上嵌入了其它網站的widget,如果有選擇餘地,一定要選擇速度快的。

3、盡量用圖檔代替flash,這對seo也有好處。

4、有些内容可以靜态化就将其靜态化,以減少伺服器的負擔。

5、統計代碼放在頁尾。