将.asp文件包含到html文件中

将.asp文件包含到html文件中,html,asp-classic,include,ssi,Html,Asp Classic,Include,Ssi,除了必须使用asp处理所有html文件外,如何在html文件中包含.asp文件并进行处理。我不完全确定您的要求。如果您试图将.asp文件包含到.html文件中,我认为这是不可能的。如果将文件扩展名更改为.shtml,则可以将以下行放入HTML文件中: <!--#include virtual="path to asp file/include-file.asp" --> 现在,无论是ASP将被解析还是代码将被显示,都必须由比我更了解服务器解析的人来解决 更好的解决方案是将一个A

除了必须使用asp处理所有html文件外,如何在html文件中包含.asp文件并进行处理。

我不完全确定您的要求。如果您试图将.asp文件包含到.html文件中,我认为这是不可能的。如果将文件扩展名更改为.shtml,则可以将以下行放入HTML文件中:

<!--#include virtual="path to asp file/include-file.asp" -->

现在,无论是ASP将被解析还是代码将被显示,都必须由比我更了解服务器解析的人来解决

更好的解决方案是将一个ASP文件包含到另一个ASP文件中。如果您想要像页面包含这样的功能,那么为您的文件提供.html或.shtml扩展名只会使您更难完成所尝试的内容


基本上,对于需要解析的文件,使用.asp;对于可以按原样提供给用户的文件,使用.html。

您可以使用IFRAME标记……但这有点糟糕。我会照你说的去做。

你可以更改可执行扩展名,所以,如果你愿意,你可以使.html成为可执行文件,这样你就可以包含文件或者做其他任何事情。。转到IIS管理器(运行->inetmgr),选择站点属性,在“主目录”选项卡下,按“配置…”。您可以在其中添加扩展名和可执行文件(您可以在.asp中插入相同的扩展名)


但我不认为这是一个最好的选择:)如果它是可执行的,它应该是.asp,如果不是-html

一个可能的解决方案是将页面的扩展名从.html更改为.asp,因为这对页面及其执行没有影响。然后您可以像在.asp文件中一样包含.asp文件。我知道这是一个老问题,但对于那些感兴趣的人来说,有一个解决方案,如果你编码正确,我通过一些测试找到了解决方法。我有一个有效的编码版本,所以我知道它确实有效,但我会尽力解释清楚

假设你有一个页眉、导航栏或页脚(Boris在评论中提到的版权年/信息的通常位置)。然而,您不想更改的.html/.htm文件扩展名,但是,由于涉及的链接以及其他网站是否链接到您的网站,这些文件中有这么多

虽然对于Boris来说,它只是每个文件的页脚,但简单的方法是将以下内容放在html文件中的页脚代码所在的位置

<script type="text/javascript" src="Footer.asp"></script>
您甚至可以将函数放在var之上,并且这些函数将与您在:
code+='yourthtml here'中拥有的任何函数一起工作现在在这段代码中,您可能有如下内容:
code+=''
但在Boris的案例中,这是版权年,所以在同一个Footer.asp文件中,您有几个选项。在
code+=“你的html在这里”您可以使用您制作/发现的代码逐年更新,也可以仅在一个文件上手动每年更新一次

然而,它回避了这样一个问题:为什么在版权年不首先在
document.write()中使用JavaScript。除非你的版权年代码是ASP

在这种情况下,在JavaScript函数上方的Footer.asp文件中,只需添加您的asp代码,例如:
rsYear(“版权年”)=Now
,以及您可能需要的其他asp代码

在JavaScript中,添加以下内容:


code+='document.write(“版权:”)

问题在于,该网站有许多旧的html文件需要在版权年更新,其想法是使其自动化,而不必跳过重命名文件和链接到它们的链接的圈套。它们已经链接到一个常规的包含文件,但该文件只能包含静态内容。有一种方法可以解决此问题,即让IIS将html文件解析为asp,但这会影响服务器的性能,因为必须解析所有包含或不包含的文件,所以我正试图找到一种方法来解决这个问题。我认为这可能是目前最好的选择。
var Code ='';
Code+='your html here';
Code+='more html here if needed';
document.write(Code);