经典ASP与服务器端的JavaScript,在不同的文件
我有一个应该,如果某些条件得到满足有超链接的网页A,B和C页面X调用函数。我希望做的事情是(在服务器上正在构建页面)删除不符合我的条件的超链接。我希望这种结构的方式是,在为X上的链接构建HTML的Javascript函数中,评估存在于A,B和C中的函数,其中返回true/false,它告诉我是或不包括链接。经典ASP与服务器端的JavaScript,在不同的文件
我都写过到目前为止,以便相应功能的X动态拼凑的名字以A,B和C基于离他们的名字叫并使用eval。问题在于eval似乎并不知道函数的位置。
由于这是服务器端的,我不相信,我可以使用标签,因为我认为这是对客户端代码。我不想用顶部,因为我要X到松散耦合与A,B和C
这是运行在IIS上的ASP页面的JavaScript。
,我怎么可以让EVAL任何建议找到该服务器上的功能表示赞赏。
MJ
[编辑]
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)。
我可能是错的,但我不认为你可以用这种方式使用包含文件。我从来没有见过以这种方式动态添加包含文件。
尝试
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;
}
你显然需要小心为您的文件名的路径。
我用this article灵感
我不太明白你想要做什么,但如果你是基于动态数据命名功能,似乎你可以退后一步,改写功能,通过参数工作动态等任何机会,你可以发布一些代码?
我已经发布了一些代码。 –
因为它是服务器端,所以您必须回发才能运行脚本。 a.asp是否具有JavaScript或服务器端JavaScript?这个函数做什么? –
的语法是IIS的功能,而不是一个JScript一个......所以你会发现a.asp的全部内容被纳入你的脚本,或者(更可能)你会发现它根本不起作用... –