scriptタグで呼ばれたjsファイル内で、
そのjs自身のURL(=scriptタグのsrcの内容)を取得したい場合、
普通にlocationオブジェクトを使って取得しようとしても
おおもとのページのURLしか取得できません。
document.currentScriptオブジェクトに対応していれば簡単ですが、
対応していない場合はその時点で呼ばれている最新のscriptタグを
解析すれば取得できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
var get_self_url = function() { var _current = (function() { if (document.currentScript) { return document.currentScript.src; } else { var scripts = document.getElementsByTagName('script'), script = scripts[scripts.length-1]; if (script.src) { return script.src; } } })(); return _current; }; |