2017-09-05 81 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

好的。我知道了。谢谢。你帮我把我的答案:) –