次のようなものを使用してスクリプトをロードしている場合
document.getElementsByTagName("head")[0].appendChild(scriptElement);
…ロードされた JS ファイル内にどのコードを挿入して、それ自体の URL を取得できますか?
つまり、DOM インジェクションを使用してhttp://foo.com/foo.jsをロードします。foo.js 内から、URL http://foo.com/foo.jsを取得するにはどうすればよいですか?
次のようなものを使用してスクリプトをロードしている場合
document.getElementsByTagName("head")[0].appendChild(scriptElement);
…ロードされた JS ファイル内にどのコードを挿入して、それ自体の URL を取得できますか?
つまり、DOM インジェクションを使用してhttp://foo.com/foo.jsをロードします。foo.js 内から、URL http://foo.com/foo.jsを取得するにはどうすればよいですか?
DOM に scriptElement オブジェクトを含めた場合は、「scriptElement.src」を知っている必要があります。そのため、foo.js 内でソースを知っておく必要があります。
alert(scriptElement.src);
私はここで私のために働く解決策を見つけました:
javascript - 関数を呼び出す script タグへのノード参照を取得する
ロードされたファイルでエラーをスローし、それをキャッチしてから、ロード ページのグローバル関数に渡す必要があるという答えはうまくいきました。(IEでは機能しませんが、現在のプロジェクトでは問題ありません。)