
164
|
第十章
運用 CSS sprites 技術,能將多張圖檔合併成一張圖檔。如果想從圖檔裡面取出真正需要
用到的部分,只要用 CSS 的
background-image
和
background-position
屬性,設定好圖
檔儲存路徑和欲擷取的座標軸位置即可。
此外,避免不必要的轉址(redirect)也能有效降低 HTTP 請求數量。你或許會覺得,轉
址這種情況應該不常發生,但有一種很常見的情況:如果 URL 後面有一個斜線(
/
),
而你卻沒有輸入它,其實就會在你不知情的狀況下進行轉址。也就是說,輸入
http://
facebook.com
,會被轉址到
http://facebook.com/
。如果你用的網頁伺服器是 Apache,就能
透過 Alias 或 mod_rewrite 來修正這個問題。
了解瀏覽器下載網頁資源的運作原理,也很重要。為了加快網頁產生的速度,大部分瀏
覽器都會採用並行機制,同時下載多個網頁需要用到的資源。不過,瀏覽器一定會等到
所有的 CSS 和 JavaScript 檔案都下載完成,才能開始產生網頁。有些瀏覽器更誇張,會
在下載 JavaScript 檔案的同時,中斷所有其他資源的下載程序。
不過,大部分的 script 程式,都不會在網頁載入完成前,對 DOM 元件進行任何處理(像
是在 DOM 元件上新增事件處理器)。也就是說,其實瀏覽器並不需要等到所有東西都
下載完成之後,才開始產生網頁,也不需要為此犧牲效能。要解決這個問題,可以在
script 標籤上加個
defer ...