javascript 在js文件中获取路径

时间:2024-03-08 09:44:52

如果在*.js文件中获取当自己当前的路径是很重要的。

举个例子,如果一个css文件中引用图片,如background-img: url(\'./Images/bg.png\')。那么图片的路径,是相对于css文件而言的。

但是,如果我们再js文件中引用图片,如img.src = \'./images/bg.png\';  但是,图片却不是根据js的相对路径的。而是根据(引用该js)的html的相对路径来决定的。这显然不合理、

所以如果我们能获取js文件的绝对路径的话,就会好很多。譬如 img.src = path + \'./Images/bg.png\';

 

获取当前js文件的路径。

var getPath = function(){
    var jsPath = doc.currentScript ? doc.currentScript.src : function(){
      var js = doc.scripts
      ,last = js.length - 1
      ,src;
      for(var i = last; i > 0; i--){
        if(js[i].readyState === \'interactive\'){
          src = js[i].src;
          break;
        }
      }
      return src || js[last].src;
    }();
    return jsPath.substring(0, jsPath.lastIndexOf(\'/\') + 1);
  }()