0

javascript ファイルへの参照があるとします。

<script type="text/javascript" src="http://blah.com/js/count.js"></script>

count.js の内容:

alert("This script is loading from:" + url);

count.js の内部から、url 変数に入る値を特定するにはどうすればよいですか?

4

1 に答える 1

1

外部スクリプトが実行されている場合、そのSCRIPT要素はページの最後の要素であるdocument.scripts[document.scripts.length-1].

したがって、SCRIPT要素が次の場合:

<script type="text/javascript" src="http://blah.com/js/count.js"></script>

count.jsファイルの内容は次のとおりです。

alert("This script is loading from:" + document.scripts[document.scripts.length-1].src);

次のように表示されます。

This script is loading from: http://blah.com/js/count.js

HTML5 では要素のasync属性が導入されているSCRIPTため、上記の方法はおそらく役に立たないことに注意してください。非同期の場合、関連付けられたSCRIPT要素を取得する唯一の方法は Gecko (Firefox) を使用することdocument.currentScriptですが、これは非標準であり、他のすべての Web ブラウザー エンジンでは実装されていません。例: Trident (MSIE)、WebKit (Chrome/Safari)、Presto (Opera)。

于 2012-11-04T20:57:15.953 に答える