动态返回在经典ASP中的JavaScript文件

问题描述:

是否有可能有一个ASP页面在经典ASP中动态返回JavaScript文件?我想要做的是通过传递另一个asp页面,将特定的javascript文件返回到调用的asp页面。 '传递'页面将检查一个服务器变量,并根据设置返回scriptA.js或scriptB.js到调用的asp页面。调用asp页面需要使用返回的.js作为导航菜单。动态返回在经典ASP中的JavaScript文件

自从我做过任何经典ASP以来,已经有7年多的时间了,并且一直在帮助一个项目。

任何帮助表示赞赏。

谢谢!

+0

您是否想要动态创建js文件或SCRIPTA与scriptB只是列入?更具体地说,scriptA和scriptB在文件系统上是静态的吗? – kakridge 2011-03-29 18:11:17

+0

脚本已经存在。我需要根据变量“选择”其中的一个。我希望IIS将脚本目录的任何请求重定向到一个asp页面,该页面将返回相应的.js ....如果这是有道理的。 – Brutus35 2011-03-29 18:41:15

您必须使用Server.CreateObject(“Scripting.FilesystemObject”) 来阅读相应的javascript文件并使用Response.Write来输出相应的javascript文件。请记住将内容类型设置为JavaScript。

Response.ContentType = “应用程序/ x-的javascript”

+0

这就是我想要做的,但它似乎没有工作。我认为问题在于我试图将所有请求重定向到一个包含所有.js文件的文件夹,并将其作为一个.asp文件来执行相应.js文件的Response.Write。我正在IIS 5.1中尝试使用重定向文件夹。我能够将JavaScript写入页面,但是,当我尝试从asp页面获取src时,我在firebug中得到的所有内容为:“未能加载源代码:myscript.js”。我开始认为这是不可能的。 – Brutus35 2011-03-30 13:33:04

+0

@ brutus35。当您尝试打开.js文件时,可能是萤火虫无法处理重定向的情况。我只是在IIS6和IE上进行了一次快速测试。它像你想要的那样工作。也许你可以把JavaScript的警报,看看它是否工作? – Naraen 2011-03-30 15:14:40

+0

我没有从

可以动态包含文件是这样的:

if Request.QueryString("param")="2" then 
    Server.Execute("page1.asp") 
else 
    Server.Execute("page2.asp") 
end if 

凡Page1.asp的和page2.asp嵌入了(只)js文件。

喜欢的东西:

<script type="text/javascript" src=<% 
if($Request->ServerVariables(URL)->item() eq 'here') { %>"something.js"<% } 
else { %>"somethingelse.js"<% } 
%>></script> 

在传统的ASP使用的JScript

var curFileName = ""; 
if(Server("Variable") == 'true'){ curFileName = page1.js; } 
else{ curFileName = page2.js; } 

Response.Write("<script type='text/javascript src='" + curFileName + "'><\/script>");