2011-07-31 16 views
1

我正在建立一個小規模的網站(個人網站),其中每個頁面都有相同的標題元素集(我不是在談論<元素的頭>元素)。換句話說,我希望每個頁面在頁面頂部具有基本相同的標題,並且在下方具有相同的導航欄(每個頁面可能存在細微差異)。這就好像StackOverflow如何在每個頁面的頂部都有該導航欄(帶有徽標以及問題,標籤等按鈕)。是否有可能創建網站標題而無需複製並粘貼到每個頁面上?

是否有可能爲每個網頁創建這樣一個頭,而不復制和粘貼HTML代碼來做到這一點?我真的不想遇到如果我想進行單一更改的情況,我將不得不更改包含標題的所有頁面。

回答

5

真正的網站使用真正的web框架,它有一個叫做「佈局」的概念(至少這就是他們在Rails中所稱的;正如Uwe的答案中所提到的,他們在ASP.NET中稱爲主頁面) 。所有常見的「模板」東西進入佈局。

2

如何在ASP.NET等服務器端語言中包含文件,如PHP或母版頁?

+1

或[服務器端包含](http://en.wikipedia.org/wiki/Server_Side_Includes)... – Shi

+1

呃,毛。包含文件(和SSI)是如此的20世紀。主頁(和Rails佈局)是一個更好的主意。 –

1

您需要使用某種動態頁面處理,無論是PHPserver-side include還是類似的工具。

如果您需要堅持使用直接的HTML,您可以嘗試使用AJAX或JavaScript來安裝某些東西 - 但這樣會嚴重限制您網站的功能,給它帶來嚴重的性能問題,並阻止禁用JavaScript的用戶使用您的網站。

第三個答案是使用某種預部署工具。這曾經是一個更大的市場,但我認爲它現在大部分已經枯竭了。 Here's an example for using DreamWeaver來處理這個。

0

如果你有一個支持PHP PHP的服務器,

<?php include 'header_inc.php'; ?> 

如果這不是可用

<!--#include virtual="header_inc.html" --> 

但無論這個工程或不爲服務器依賴

0

如果你想要做的它在純html中,你可以使用標籤< frame>。但它是非常,非常ooooold風格:)
Framing technology

0

如果你有PHP功能的服務器

include 'header.inc.php'; 

你必須把頭部代碼的文件命名的,然後把包含代碼您希望標題顯示在的所有頁面

相關問題