2017-07-26 30 views
1

我刚刚开始为一个网站开发这个小型项目,我认为我应该只为整个网站使用一个菜单栏,因为有时需要更改菜单栏中所有页面的所有链接。加载整个网站的导航栏,我应该如何处理链接?

我发现下面的代码加载我的菜单栏:

<div id="nav-placeholder"></div> 

<script type="text/javascript"> 
    $(function(){ 
    $("#nav-placeholder").load("navbar.html"); 
    }); 
</script> 

它工作正常,我得到我的菜单,但是我发现链接的基本工作原理一样,如果我不得不菜单在页面上而不是加载它。

因此,例如,如果我在根目录下一切都加载正常,但只要我向上移动一个目录链接将不再工作。

我知道这可以通过简单地改变它们来解决,但是接下来我将不得不为整个站点制作更多的导航条?

有没有解决这个问题?希望你们能明白我的想法,希望有任何帮助。

+1

变化的联系,使他们开始相对于域的根文件夹,例如。 '/ foo.html','/ links/bar.html'等。另外请注意,服务器端包含更适合将模板内容包含到JS的页面中,因为JS在AJAX请求完成时将具有FOUC。 –

+0

哇!谢谢Rory。这是一件很小的事情,对于这个真的很新鲜。 – Ralf

回答

0

如果您使用任何可以像ASP或PHP一样动态创建页面的任何内容,那么您可以创建一个单独的页面,只显示菜单并将其包含在每个需要它的页面中。例如:

ASP:

<!-- #Include virtual="menu.aspx" --> 

PHP:

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