使用服务器端Javascript的经典ASP,在不同的文件中调用函数
Classic ASP with Server-Side Javascript, calling function in a different file
我有一个页面X,如果满足某些条件,应该有超链接到页面a, B和C。我希望做的是(在服务器上的页面正在建设)是修剪出不符合我的条件的超链接。我想要结构化的方式是,在Javascript函数中,它正在为X上的链接构建HTML, eval存在于a, B和C中的函数,其中返回true/false,它告诉我是否包含链接。
到目前为止,我已经编写了,以便X根据A、B和C的名称动态地将要调用的适当函数的名称拼凑在一起,并使用eval。问题是eval似乎不知道函数的位置。
因为这是服务器端,我不相信我可以使用标记,因为我认为这是客户端代码。我不想在顶部使用,因为我希望X与A, B和c松散耦合。
这是在IIS上运行的ASP页面中的Javascript。
关于如何使eval在服务器上定位函数的任何建议都是值得赞赏的。
乔丹[编辑]
function shouldLink(filename)
{
filename = "a.asp";
var splits = filename.split(".");
var file = splits[0].toUpperCase() + "_ShouldLink()"; // A_ShouldLink() function name built here
var exec = "<!--#include virtual='"a.asp'" -->";
exec += "eval( " + file + " );";
try{
return eval( exec );
} catch( err ){
}
return true;
}
基本上在eval这里,我想要调用名为A_ShouldLink()的函数(它驻留在a.asp中)
我可能是错的,但我不认为你可以用这种方式使用包含文件。我从来没有见过以这种方式动态添加include文件。
试
function shouldLink(filename)
{
filename = "a.asp";
var splits = filename.split(".");
var file = splits[0].toUpperCase() + "_ShouldLink()"; // A_ShouldLink() function name built here
Server.Execute(fliename)
var exec = "eval( " + file + " );";
try{
return eval( exec );
} catch( err ){
}
return true;
}
你显然需要小心文件名的路径。
我用这篇文章作为灵感
我不太明白你想做什么,但如果你是基于动态数据命名函数,似乎你可以后退一步,重写函数,通过参数等动态工作。你能贴一些代码吗?
相关文章:
- 通过Ajax将JavaScript函数传递给PHP文件
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 如何在 javascript 文件函数中找到 Radnotification id
- 对另一个文件函数的引用
- 从代码隐藏调用.js文件函数
- 如何javascript调用iframe加载的文件函数
- Javascript外部文件函数赢得'我以前不工作
- 读取本地文本文件函数不返回字符串类型,而是返回一个void类型
- 如何使用javascript在同一位置编辑和保存计算机中的任何文本文件.函数调用时,
- 如何用javascript调用jar文件函数
- 从SharePoint 2013脚本编辑器调用外部javascript文件函数
- 优先使用JS文件函数而不是HTML文件
- 如何从页面后面的代码调用js文件函数
- 外部JS文件's函数在无限滚动后不加载
- 在HTML按钮点击事件上调用jquery文件函数
- 在Angular js控制器中调用外部js文件函数
- Webpack主javascript文件's函数不能在加载在页脚的js文件中访问
- 我的jquery文档准备函数不能识别外部js文件函数
- 调用selenium-ide中的js文件函数
- 在RegisterStartupScript方法中使用外部Javascript文件函数