2013-08-01 29 views
2

所以我得到了这个新的网站打理:http://www.kineformeconcept.com/mtl/index.shtml的#include文件指令不能正常工作

菜单也不再显示自从客户端移动承载位置。

我从来没有使用过#include file =“whatever.html”指令。

我现在是一个ASP指令,但我从来没有使用过ASP。我应该从哪里开始?

如果有人想看看代码,它在第66行:

<td align="center" valign="top" bgcolor="#ededee"><!--#include file="menu.html" --></td> 
+0

新的主机不支持传统的ASP,因为它很简单。 –

+0

@ShadowWizard - 假设它甚至用ASP编写。我开始认为情况可能并非如此。 – AnonJr

+0

@AnonJr这是传统的ASP语法,听起来好像它曾经在之前的主机上工作过。 –

回答

1

#include指令不ASP的一部分,每本身 - 它是一个服务器指令,Web服务器本身的一部分并且独立于您正在使用的脚本语言。

如果它工作在一台服务器上,并停止工作在新服务器上,那么最有可能的罪魁祸首是一个错误配置的服务器。*

  • 如果是自己收留了它,到哪里修复它将取决于您正在使用的服务器软件上的 以及您正在使用的那个版本的 软件。
  • 如果您不是自己托管它,您可能需要联系您的主机 以启用适当的功能。

假设迄今已有所使用ASP-经典,因为那是什么的问题被标记为,你在这个问题本身提ASP ...但你的链接是一个.shtml页和问题的内容让我相信它只是静态的HTML语句,其中有一些#include语句。


半随机一边 - 它不应该的问题,但如果你已经移动到更... ...特定的服务器软件,它可能只是大惊小怪的<!--之间的空间不足和#include。相反的:

<td align="center" valign="top" bgcolor="#ededee"><!--#include file="menu.html" --></td> 

地说:

<td align="center" valign="top" bgcolor="#ededee"><!-- #include file="menu.html" --></td> 
0

你的页面的文件名是.shtml

应该.asp,然后#include file#include virtual应该工作。

+0

大多数服务器都设置为将'.shtml'文件识别为包含服务器指令,并将处理它们。这就是'.shtml'扩展的用途 - 纯HTML和/或包含其他服务器指令,无需运行额外的解析器。 – AnonJr

+0

Apache服务器通常设置为识别.shtml,但我不认为这是IIS的情况(如果它正在运行ASP,它必须是IIS)。所以是的,将.shtml扩展名改为.asp应该可以。如果这意味着通过站点拖网来改变链接负载,那么另一种方法是通过IIS管理器中的处理器映射将.shtml扩展映射到asp.dll – John

+0

不幸的是,将扩展名更改为.asp不起作用。谢谢您的帮助! – PMaly

0

您的新主机不支持传统的ASP。但是,对于这样一个简单的事情,你并不需要经典ASP的力量。您可以使用jQuery轻松地将菜单加载到表格单元格中。

首先,给唯一ID的细胞:

<td id="MenuCell" align="center" valign="top" bgcolor="#ededee"> 

现在在代码中加入jQuery库:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 

最后将此代码添加到您的网页:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#MenuCell").load("menu.html"); 
}); 
</script> 

完成后,您现在将看到菜单,不需要服务器端代码。

+0

是啊......我不想经历所有这些麻烦。该网站是相当古老的学校。如果我走这条路,我必须在所有页面上这样做。坏消息! – PMaly

+0

@PMaly你可以在单独的文件中有JS代码,然后只要有''script type =“text/javascript”src =“LoadMenu.js”>'如果它有任何帮助。 –