2013-07-19 210 views
0

我想建立一个通用的头文件,我可以包括在我的网站上的每个.html文件中。我的标题包含多个下拉选项卡,其中一个标签总是突出显示(取决于用户所在的页面)。所以,我要像做服务器端包含的头,但我也想这样它就知道标签来突出这,这样的事情,给它一个变量:服务器端包含变量(IIS 7)

<div class="topmenu"> 
<ul> 
<someScript> 
if (variable=="home") { 
    print "<li class='current'>"; 
} else { 
    print "<li>"; 
} 
</someScript> 
... 

我的服务器是IIS 7不支持PHP,我不想将所有文件重命名为* .asp,以便我可以使用ASP。我怎么能解决这个问题?

回答

0

通过扩展我猜你会使用经典的ASP。然后像这样的东西应该工作:

<!--#include file="header.asp"--> 

你可以把它放在你想要有一个标题的每个文件。 您应该首先创建该“header.asp”页面;)

对于您所在页面的标签页来说,有几种方法。恕我直言,我建议客户端脚本来做到这一点。 JS或jQuery当然。

您可以检查您所在的URL的文件名,并为选项卡提供适当的类,以便高亮显示。

实施例(jQuery的需要):

var currentPage = window.location.pathname.substring(url.lastIndexOf('/')+1); 
if(currentPage == 'default.asp') $('li.homepage a').addClass('current'); 

这个简单的代码retrives的文件名,并且通过它,在你导航类添加到相应的元件。

当然这是一个概念性脚本,您最好将它调整到您的页面。

+0

这是一个非常聪明的想法,但由于我不仅仅是在主页上使用这个标题,我需要在网站上的每个页面都有一个“if”语句。对? –

+0

@BenCaine:用这种方法,是的。 –