特定の条件が満たされた場合、ページ A、B、および C へのハイパーリンクを持つことになっているページ X があります。私が望んでいるのは、(ページが構築されているサーバー上で) 私の条件を満たさないハイパーリンクを取り除くことです。これを構造化する方法は、X 上のリンクの HTML を構築している Javascript 関数で、A、B、および C に存在する関数を評価し、真/偽が返されるかどうかを教えてくれることです。リンクを含めないでください。
ここまで書いてきたのは、X が動的に A、B、および C で呼び出す適切な関数の名前をそれらの名前に基づいて組み合わせ、eval を使用するようにしたことです。問題は、 eval が関数の場所を認識していないように見えることです。
これはサーバー側であるため、タグを使用できるとは思えません。これはクライアント側のコード用だと思うからです。X を A、B、および C と疎結合にしたいので、先頭に を使用したくありません。
これは、IIS で実行される ASP ページの Javascript です。
サーバー上の関数を評価する方法についての提案は大歓迎です。
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;
}
基本的に、ここでの評価では、A_ShouldLink() という名前の関数を呼び出す必要があります (これは a.asp にあります)。