如果在*.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);
}()