불러온 js 파일의 경로를 찾는 블로그를
발견했습니다~
실제로 함수를 사용해 보니 자신을 로드한 위치가 뜨더라구요~
제가 원하는건 js 파일이 들어있는 경로를 반환
받는건데요...
<script type="text/javascript"
src="/a/a.js"></script>
위와 같은 스크립트 문이 로드되면
/a
가 나오는거죠~
자료를 찾은 블로그의 함수를 이용해서 만들어 보려고 했는데... 잘 안되더라구요~
그래서 코드를 재작성 했습니다.(기볹거인 아이디어는 위 블로그에서 그대로 가져왔습니다.)
아래 함수와 실행문을 'js'파일의 상단에 넣어주시면 됩니다.
function getJsPath() {
var scriptList = document.getElementsByTagName("script");
var fileName = scriptList[scriptList.length - 1].src;
var token = fileName.split('/');
var str = '';
for(var i=0; i<token.length-1; i++) {
str += token[i];
if(token.length-2 != i)
str += '/';
}
return str;
}
path = getJsPath();
현재 js 파일이 불러지는 시점에서는 해당 js 파일이 가장 마지막 script 문이라는 거죠~
즉 이 함수가 유효하려면 js 파일의 로딩 시점에서 함수가 실행되어야 합니다.
마지막에 'path = getJsPath();' 가 필요한 이유이기도 합니다~