【发布时间】:2020-07-23 15:32:54
【问题描述】:
我正在处理一个经典的 ASP 项目,但很遗憾无法切换到另一种技术。我了解到可以在 Javascript (ES3) 中编写服务器端经典 ASP 代码,因此我进行了一些调查,但我找不到从基于 JS 的 ASP 文件中包含另一个基于 JS 的 ASP 文件的方法。
这是我要导入的基于 JS 的 ASP 文件:
includejs.asp
<%@ Language=JavaScript %>
<%
function myFunction(p1, p2) {
return p1 + p2;
}
%>
我尝试了以下两种方法,都没有成功
myjs1.asp
<%@ Language=JavaScript %>
<script language="JScript" runat="server" src="./includejs.asp"></script>
<%
// myFunction is from another file
Response.Write(myFunction(20,2));
%>
myjs2.asp
<%@ Language=JavaScript %>
<!--#include virtual="./includejs.asp" -->
<%
// myFunction is from another file
Response.Write(myFunction(20,2));
%>
我的发现
我第一次尝试就可以导入如下纯 javascript 文件
function myFunction(p1, p2) {
return p1 + p2;
}
但我想包含一个 ASP 包装的 javascript,以便我也可以从包含的 Js 文件中包含其他文件。
【问题讨论】:
-
#include语法是 IIS 服务器端包含,您应该可以将它与 JScript 一起使用。只需将包含文件includejs.asp包装在<script lamguage="JScript">中或将<%@ Language="JScript" %>放在包含文件的顶部即可。 -
不幸的是,它对我不起作用。我更新了我的问题以包括我尝试过的@Lankymart
-
请注意 Lankymart 说
<script lamguage="JScript">它是 JScript,而不是 JavaScript -
从包含文件中删除
<@ Language=行,因为它会导致包含文件中出现多个页面指令。 -
Tbh @Dijkgraaf,我认为
language属性同时接受,但将它们都视为jscript。