網頁加速系列(六)、 網頁加速之進階下篇

 

本文可參考以下網址:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndude/html/dude1201.asp
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/perf/perftips.asp

(六)、 網頁加速之進階下篇

循環控制多個動畫

說到製作動畫效果,當然離不開定時器的運用。通常的方法就是使用WINDOW.SETTIMEOUT來不斷地定位頁面上的元素。但是,如果頁面上有多個動畫要顯示,是不是就要設定多個定時器呢?答案是NO!原因很簡單:定時器功能將消耗掉大量寶貴的系統資源。可是我們仍能在頁面上控制多個動畫,技巧就是使用一個循環。在循環中根據不同的變量值控制相應動畫的位置,整個循環中只使用一個WINDOW.SETTIMEOUT()函數調用。

VISIBILITY快於DISPLAY

讓圖畫時隱時現會創造很有趣的效果,有2種方法可以實現這個目的:使用CSS的VISIBILITY屬性或者DISPLAY屬性。對於絕對位置元素,DIAPLAY和VISIBILITY具有同樣的效果。兩者的區別在於:設置爲DISPLAY:NONE的元素將不再佔用文檔流的空間,而設置爲VISIBILITY:HIDDEN的元素仍然保留原位置。

但是如果要處理絕對位置的元素,使用VISIBILITY會更快。

從小處着手

編寫DHTML網頁的一個重要提示是:從小處着手。初次編寫DHTML頁面時,一定不要試圖在頁面中使用你瞭解到的全部DHTML功能。每次可以只使用一個單一的新特徵,並且仔細地觀察由此產生的變化。如果發現性能有所下降,就可以快速地找到爲什麼。

腳本的DEFER化

DEFER是腳本程序強大功能中的一個“無名英雄”。你可能從沒有使用過它,但是看完這裏的介紹後,相信你就離不開它。它告訴瀏覽器SCRIPT段包含了無需立即執行的代碼,並且,與SRC屬性聯合使用,它還可以使這些腳本在後臺被下載,前臺的內容則正常顯示給用戶。


最後請注意兩點:

1、不要在DEFER型的腳本程序段中調用DOCUMENT.WRITE命令,因爲DOCUMENT.WRITE將產生直接輸出效果。

2、而且,不要在DEFER型腳本程序段中包括任何立即執行腳本要使用的全局變量或者函數。

保持同一URL的大小寫一致性

我們都知道UNIX服務器是大小寫敏感的,但是你知道嗎:INTERNET EXPLORER的緩衝區也是區別對待大小寫字符串的。因此,作爲WEB開發者,一定要記住保持相同鏈接的URL字符串在不同位置的大小寫的一致性。否則,就會在瀏覽器的緩衝區中存放同一位置的不同文件備份,也增加了下載同一位置內容的請求次數。這些都無疑降低了WEB訪問效率。所以請謹記:同一位置的URL,在不同頁面中請保持URL字符串的大小寫一致性。

讓標記有始有終

自己編寫或者查看他人的HTML代碼時,我們一定都遇到過標記有頭無尾的情況。比如:

<P>有頭無尾標記舉例
<UL>
<LI>第一個
<LI>第二個
<LI>第三個
</UL>

很明顯,上面的代碼中缺少三個</LI>結束標記。但是這並不妨礙它的正確執行。在HTML中,這樣的標記還有一些,例如FRAME、IMG和P。

可是請不要偷懶,請將結束標記寫完整,這樣做不僅使HTML代碼格式規範,更可以加速頁面的顯示速度。因爲INTERNET EXPLORER將不會花費時間判斷和計算段落或者列表項目在哪裏結束。

<P>有頭有尾標記舉例</P>
<UL>
<LI>第一個</LI>
<LI>第二個</LI>
<LI>第三個</LI>
</UL>

OK,以上列舉了有關加速HTML頁面的10個處理技巧,描述這些很簡單,但是隻有真正領會並掌握其中的本質,並且舉一反三,纔會編寫出更快、更好的程序。

 

 

本文可參加原文(英文)
Asynchrony: Loved Your Performance
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndude/html/dude092298.asp


數據加載採用異步,這樣在頁面加載的過程中,還會通知服務器處理,直到處理結束通知頁面更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章