在面向對象軟件開發的時候,我們經常提到“復用”,很好地復用代碼不僅可以大大提高開發效率,同時使得代碼更易于維護。
HTML的復用是一個很少被提及的詞匯,今天就這個問題小結如下:
在老版本的瀏覽器中HTML文檔是不支持嵌套的,而我們要能夠復用HTML代碼通常的做法主要有基于服務器端和客戶端實現的2大類方法:
1.服務器端實現
a.使用SSI,既通常的shtml文件。
b.asp、php等的include類語句,asp.net的模板頁和用戶控件。
2.在客戶端實現
a.使用javascript客戶端腳本
a1.可以在html文檔的onload事件中觸發一個js方法,在該方法中找到一個頁面元素作為容器,在該容器中輸出一段html代碼(可以定義一個字符串存儲要輸出的html代碼片段,比如:var str="<p>hello world!</p>";)。
a2.在頁面中使用<script type="text/javascript" src="Default3.aspx"></script>等腳本注冊塊(該處的Default3.aspx也可以是js腳本文件或其他實現js格式的服務器端輸出),在實現的腳本文件中用document.write方法把要復用的html代碼打印出來。
a3.使用AJAX實現。該方法有個缺陷,就是客戶端的有些瀏覽器默認是不支持ajax的跨站調用的。
b.使用iframe
兩者的選擇:
更多的情況下首選服務器端的實現,除非是在一些實現靜態化的頁面或者一些特殊的場合再使用客戶端的實現。