HTML的複用是一個很少被提及的詞彙,今天就這個問題小結如下:
在舊版的瀏覽器中HTML文件是不支援嵌套的,而我們要能夠重複使用HTML程式碼通常的做法主要有基於伺服器端和客戶端實作的2大類方法:
1.伺服器端實作
a.使用SSI,既通常的shtml檔案。
b.asp、php等的include類別語句,asp.net的範本頁和使用者控制項。
2.在客戶端實作
a.使用javascript客戶端腳本
a1.可以在html的onload事件中觸發一個js方法,在該方法中觸發一個js方法,在該方法中觸發一個js方法,在該方法中觸發一個js找到一個頁面元素作為容器,在該容器中輸出一段html程式碼(可以定義一個字串儲存要輸出的html程式碼片段,例如:var str="
hello world!
";)。
a2.在頁面中使用等腳本註冊區塊(該處的Default3.aspx也可以是js腳本檔案或其他實現js格式的伺服器端輸出),在實作的腳本檔案中用document.write方法把要重複使用的html程式碼列印出來。
a3.使用AJAX實作。此方法有個缺陷,就是客戶端的有些瀏覽器預設是不支援ajax的跨站呼叫的。
b.使用iframe
兩者的選擇:
更多的情況下首選伺服器端的實現,除非是在一些實現靜態化的頁面或者一些特殊的場合再使用客戶端的實現。
更多參考:
http://ask-leo.com/how_do_i_include_one_html_file_inside_another.html
http://www.boutell.com/newfaq/creating/include.html
http://blog.csdn.net/omohe/archive/2007/10/28/1850766.aspx