2010-02-07 59 views
5

所以我有一個網站,我正在使用位於屏幕右上角的基本菜單。它的鏈接如下:在多個頁面上有單個菜單嗎?

| Home | Blog | Results | Pictures | Our Location | 

表單時間我需要添加一個新的鏈接到菜單或更改其中一個鏈接指向的位置。這意味着在菜單存在的每個頁面上,我都必須手動更改鏈接。當然,有一些方法可以在每個頁面上放置一個主菜單。

還是我在做夢?

+0

解決方案可在這裏:http://stackoverflow.com/questions/39447411/how-to-load-nav-menu-from-an-external-file-no-wamp-all-code-must- be-browser – Ampere 2016-09-12 17:09:34

回答

3

將菜單放在一個單獨的文件中,並將其包含在服務器端,可以使用像PHP這樣的完整腳本語言(一行)或使用SSI

+0

我不知道php。你能提供一個如何使用SSI的例子嗎? – 2010-02-07 08:03:29

+1

鏈接文章中有一個SSI示例('<! - #include virtual =「path/to/menu.htm」--'>),在PHP中它將是:'<?php include'path/to/menu.htm「; ?>'。 – 2010-02-07 08:06:06

+0

S .:所以我剛剛發現Yahoo Small Business不支持'.shtml'。任何其他選項? – 2010-02-07 08:20:13

3

有多種方法可以做到這一點。這取決於您在服務器上訪問的內容。可能最簡單的機制是server-side includes。你只需要一個包含菜單的文件並將其包含在每個頁面上。

你也可以用或多或少優雅的方式用每種編程語言來做到這一點。

編輯:SSI很簡單。你可以製作一個/header.html文件,然後做:

<!--#include virtual="/header.html" --> 

在適當的地方。

0

有一個服務器端程序確定哪些菜單和鏈接的位置需要在那裏。 然後使用ajax定期輪詢服務器端腳本以獲取當前時間菜單的內容。

它會很容易有它的XML數據發送回這樣的:

<menu> 
    <link name="Home" href="destinationhome.html"/> 
... 
    <link name="Pictures" href="....html"/> 
</menu> 

然後建立從數據鏈接。

1

使用PHP包括在所有的頁面

<?php include 'includes/menu.php'; ?> 

,並有一個名爲「包括」文件夾中的一個單獨menu.php。你需要的所有oyur頁面保存爲.PHP

你可以讓你的頁腳爲包括太多

1

我認爲這是最簡單的方法沒有服務器端語言。使用一個JavaScript庫,如W3Data。你所需要做的就是將w3-include-html屬性添加到你的div中。完成!

如果你的菜單在一個名爲menu.html的文件中,你會這樣做。

<div w3-include-html="menu.html"></div> 
+0

我已經嘗試過各種方法,並且這個工作很完美。該圖書館來自W3學校的w3.js,在W3學校網站上有很好的使用記錄。 – 2017-10-17 15:41:02

相關問題