2017-09-05 57 views
0

我在一些項目上工作,我有很多的網頁相當大的工具欄菜單,我真的不希望改變這一切的時候,在所有網頁,也是我真的不想用php include()函數。 HTML5進口與工具欄菜單

好吧,我去和使用HTML5進口。它確實有效,但我有一個問題。我的index.html位於根文件夾中,而users.html位於root/pages文件夾中。所以..當它到達那裏時,它會導入與index.html中相同的菜單,但這是錯誤的。因爲鏈接被破壞。例如在那之後我無法訪問index.html的,因爲我需要../index.html,而是它寫的index.html 這是JS我使用導入文件

var doc= document.querySelector('link[rel="import"]').import; 
var text = doc.querySelector('template'); 
var clone = document.importNode(text.content, true); 
var loc = window.location.pathname; 
var dir = loc.substring(0, loc.lastIndexOf('/')); 
console.log(dir); 
document.querySelector('.sidebar-menu').appendChild(clone); 

回答

1

它應該如果您將側邊欄中的鏈接更改爲絕對路徑而不是相對路徑,則可以從任何頁面進行工作。相反的:

<a href="index.html">Home</a> 

使用本:

<a href="/index.html">Home</a> 

確切的絕對路徑可能取決於如果您使用的是/public文件夾等各不相同,但一旦你讓他們工作一次,他們將工作您應用中的任何頁面。

+0

我想這一個。但它有點不起作用。 –

+0

我是這個頁面 - > HTTP://本地主機:8080/projectN_full/index.html的 後來,當我在菜單欄中的同一頁面上點擊它給了我 - > HTTP://本地主機:8080/index.html的 –

+0

好的。我知道了。謝謝。你幫我把我的答案:) –