2011-06-17 40 views
1

對於菜單代碼,頁眉,頁腳以及最重要的是每個頁面上的快速鏈接/新聞面板等重複的HTML,我仍然感到不舒服。此外,爲每個頁面發送相同的重複html似乎有點低效。在網頁中嵌入第二個HTML文件

目前我寫了一個小程序,它從我的index.htm中讀取這些部分,並替換該目錄中所有其他頁面中的相關部分。然而,現在我已經有了像Message Forum和Image Gallery這樣的額外頁面,而這兩個頁面都需要在它們各自的子目錄中有自己的index.htm,所以開始變得非常尷尬。

所以問題是我應該使用object,iframe還是SSI?

是否有人成功使用過對象標籤在頁面中嵌入單獨的HTML文件? SSI可以完成這項工作,但重複的HTML仍然會在每次頁面更改時通過Web發送,並且不同的包含行將不得不在PHP頁面上使用。如何使用IFrames,我知道他們並不嚴格符合XHTML1.0標準,但我似乎回想起他們將再次支持HTML5的傳聞,這是否會讓他們成爲未來的良好投資?

回答

0

解決此問題的最簡單方法是使用腳本語言(PHP,Python,ASP)和模板。您可以在主模板中爲您的網站創建基本結構,然後使用這些腳本來僅引入更改的內容。請參考Django's template system

+0

確定我們有任何Python頁面,但不支持基於PHP的Message Forum。 – NickC

+0

有幾種基於PHP的模板語言可用:Smarty,Pear的HTML_Template *等。您也可以升級到完整的CMS,如Drupal或Joomla。 –

0

您的每個頁面都可以調用外部boilerplate.js文件中的JavaScript函數。該功能可以使用DOM向頁面添加樣板元素。

也就是說,你可能不想這樣做,也不使用IFrames,因爲SEO原因! (另外,如果客戶端禁用JavaScript,你的頁面將不會失敗)。

對我來說,有一個更加搜索引擎友好的頁面並支持重複標記的傳輸似乎更好。服務器端包含(或任何服務器端腳本語言)將提供這些品質,同時還可以讓您輕鬆更改所有頁面上的樣板。