htmlから読み込まれたJavaScriptで、自分自身のscriptタグを取得する

2014-11-07

オレオレスクリプトするときに、scriptタグで囲んだ内部のテキストを取得して処理できると便利。

<!-- index.html -->
<script src="get_current_script.js">
ここのテキストを取得したい
</script>

それには呼び出されたJavaScript内で次のようにできる:

// get_current_script.js
// 現在実行中のスクリプトタグを取得
var currentScript = document.currentScript || (function() {
var nodeList = document.getElementsByTagName('script')
return nodeList.item(nodeList.length - 1)
}())
var text = currentScript.text // text で内部テキストが取得できる。
//=> "\n ここのテキストを取得したい\n "