JavaScriptのパスを取得する

JavaScriptでは他のJavaScriptファイルや画像ファイルなどを読み込むなど、他のファイルと連携する事がある。
JavaScriptファイルのパスが取得出来ると他のファイルへの相対的なアクセスがしやすくなり汎用性も高まる。

<script type="text/javascript" src="js/js_path.js"></script>
<script type="text/javascript">
<!-- 引数としてファウルパスを取得するJavaScriptのファイル名を渡す -->
    window.onload = function(){
        var filePath = getJsPath("js_path.js");
        document.getElementById("file-path").innerHTML = filePath;
    }
</script>
function getJsPath(jsFileName){
    var path = "./";
    var target;
    var scripts = document.getElementsByTagName("script");

    if(jsFileName && scripts){
        for(var i=0; i<scripts.length; i++){
            //match()でパラメータとして渡されたファイル名が設定されているscript要素を検索する
            //引数を正規表現オブジェクトにへ変換
            if(scripts[i].src.match(new RegExp(jsFileName, "i"))){
                target = scripts[i].src;
                break;
             }
        }
        //パスを取り出す
        if(target){
            path = target.match(/.*\//g);
            path = path ? path : "./";
        }
    }
    return path;
}