2010-11-23 13 views
5

呼び出されたJSファイルのURLを知るにはどうすればよいですか?JavaScriptの現在のスクリプトのURL

JSファイル(ライブラリの一部)とHTMLファイル(アプリケーション)が別のサーバーにあるとします。 HTMLファイルのURLを調べるのは簡単です。しかし、JSファイル自体の中で、JSファイルのサーバーのサーバー名とパスを調べるにはどうすればよいですか? (編集:同じディレクトリ構造のthsiライブラリの他のJSファイルを呼び出すローダーがあります)

JQueryまたはpure JSソリューションが好ましいです。

編集:私は実際に問題を回避最初のサーバー、またHTMLの生活にローダコードを移動するためにきれいになり、あなたの答えと私が決めたコメントから学んだ後

あなたができるjQueryので
+0

何が必要ですか? –

+0

@Josh:同じサーバーからさらにjsファイルをロードする。 – mit

+0

PHPを使って動的にjsファイルを作成し、必要なjsコードを含めることができませんでしたか? – Fred

答えて

4

$('script').each(function(i, e) { 
    alert($(e).attr('src')); 
}); 
+0

$ .appendを使ってドキュメントにスクリプトを追加しますか?私はそれがそれをロードするか分からない。 – Fred

+1

@Fred - 非同期JSファイルをロードするには、JSファイルが完全にロードされた後にコールバックが呼び出されるように、 'getScript()'を使うべきです。 – Ben

2

あなたはスクリプトタグを反復処理し、SRCを確認することができ、私は

var els = document.getElementsByTagName("script"); 
var str = ""; 

for(var i = 0; i < els.length; i++) { 
    var src = els[i].src; 
    if(src.length > 0) 
    str += src + "\n"; 
} 

alert(str); 

を見るには、ブラウザのバーに次のように貼り付け...と仮定このページのスクリプトのURL ...

javascript:var els = document.getElementsByTagName("script"); var str = ""; for(var i = 0; i < els.length; i++) { var src = els[i].src; if(src.length > 0) { str += src + "\n";}}alert(str); 

注:IEはタグの中の要素。

関連する問題