ページが ASP.NET Page.ClientScript Register API を使用してスクリプトを登録している場合は、Page.ClientScript.IsClientScriptIncludeRegistered を使用できます。一方、これらの API を使用している場合は、それぞれの 1 つだけが登録されていることが既に保証されているため、実際に呼び出す必要はありません。
http://msdn.microsoft.com/en/us/library/system.web.ui.clientscriptmanager.isclientscriptincluderegistered.aspx
ページのマークアップに通常の ole スクリプト要素が静的に含まれているだけで、スクリプトがクライアント側に読み込まれているかどうかを検出する必要がある場合は、ページ上のすべてのスクリプト要素を取得し、それらの .src 値を確認する必要があります。これに伴う問題は、一部のブラウザーは、宣言したものだけでなく、その URL を完全なパスに自動的に解決することです。したがって、さまざまな方法でそれを説明できます-必要なスクリプトである文字列の末尾を検索するか、比較するURLを動的に作成されたURLに設定して解決することができますscript 要素 (DOM に追加することはありませんが、解決されます)。
これは私の頭のてっぺんから外れているだけです。何か間違っていたらごめんなさい:
var s = document.createElement("script");
s.src = "foo.js";
var loaded, scripts = document.getElementsByTagName("script");
for (var i = 0; i < scripts.length; i++) {
if (scripts[i].src === s.src) {
loaded = true;
break;
}
}
if (loaded) {
// this script is already loaded
// assuming you dont have multiple copies in different locations
}