首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.js文件中的经典asp代码

问.js文件中的经典asp代码
EN

Stack Overflow用户
提问于 2014-11-19 00:01:31
回答 2查看 3.1K关注 0票数 0

我有一些我应该修改的旧代码,似乎有人在.js文件中包含了经典的asp代码,以便基于某些会话变量值呈现javascript函数,但我在呈现页面时收到了一个‘语法错误’,我正在尝试解决这个问题。代码如下:

代码语言:javascript
复制
<% if Session("Money_Guide_Pro_Application_Granted") = "Y" then %>
function OpenMGP() 
{
    var oNewWindow = "MGP";
    window.open("https://" + "<%=Request.ServerVariables("SERVER_NAME")%>" + "/applications/commlink/MGPRO/MGProRepSelect.aspx",oNewWindow,"height=600,width=667,status=no,toolbar=no,scrollbars=yes,menubar=yes,resizable=yes,location=no");
}
<% else %>
function OpenMGP() 
{
    var oNewWindow = "MGP";
    window.open("https://" + "<%=Request.ServerVariables("SERVER_NAME")%>" + "/backoffice/Planning/MGPNoSub.asp", oNewWindow,"height=400,width=500,status=no,toolbar=no,scrollbars=yes,menubar=yes,resizable=yes,location=no");
}
<% end if %>

基本上,在打开窗口时使用不同的url,这取决于所设置的用户权限。我认为这是不可能的,因为经典的asp是服务器端的,而所有的.js都是客户端的,所以我想一旦客户端命中这个.js文件,它就不能解析服务器端的代码。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2014-11-19 03:34:13

一个.js文件需要完全用客户端JS编写。<% %>中的东西是服务器端的VBScript。作为一个外部javascript文件,它是无用的,但你可以使用它作为一个服务器端包含在一个.asp页面,即

代码语言:javascript
复制
<script type="text/javascript">
<!--#include file ="yourfilename.js"-->
</script>

在这种情况下,包含文件的扩展名无关紧要,因为服务器会将其视为正在呈现的页面的一部分。但是,也可以给包含文件提供.asp扩展名,这是很好的实践。

票数 3
EN

Stack Overflow用户

发布于 2014-11-20 23:19:46

如果愿意,您可以为该.js文件指定一个.asp扩展名,并像这样包含它,以避免必须使用服务器端包含:

代码语言:javascript
复制
<script src="../Include/YourFileName.asp?x=1&y=2" type="text/javascript"></script>

因此,.asp页面的第一行通常是这样的:

代码语言:javascript
复制
<%Response.ContentType="text/javascript"%>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26998592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档