JSファイルがあるディレクトリの絶対URLパスを取得

やんごとなき事由により、設置したjsファイルの絶対URLパス(ドメインを除いた / から始まるURLパス部分)を取得したい場合があります。 複製され使い回されるJSなどを書いていると、必要になったりしますね。

そんなときはこれでいけます。

var url_path = (
    document.currentScript
        ? document.currentScript.src
        : document.getElementsByTagName('script')[document.getElementsByTagName('script').length-1].src
    )
    .replace(new RegExp('^'+location.origin), '')
    .replace(/[^\/]+$/, '')
;

たとえば http://localhost/sample/hugahua.js に上記コードを書いて、HTMLから <script> タグで呼び出すと、変数 url_path には /sample/ が入ってきます。

ご賞味あれ。

参考にさせていただいたサイト