살며사랑하며

동적으로 스크립트 로딩 (캐쉬문제) 본문

PROGRAM/JAVASCRIPT

동적으로 스크립트 로딩 (캐쉬문제)

drawhan 2017. 12. 13. 14:01

자바스크립트 파일 변경 후 해당 스크립트를 다시 로딩하는 방법


1. 해당 자바스크립트를 브라우저로 연 다음 새로고침 한다.

2. 메타태그에 캐시 미사용을 지정한다.

3. 스크립트 파일에 파라미터를 추가해서 새로운 파일로 인식하게 한다.


3번의 경우 JSP/PHP/ASP/Django등 서버 스크립트를 사용중이라면 큰 문제 없지만 

자바 스크립트에서 직접 하기 위해서는 document.write를 이용해서 동적으로 로딩이 가능하게끔 한다.


jquery를 이용한 예제는 아래와 같다. 

<script src="/js/jquery.min.js"></script>

<script src="/js/bootstrap.min.js"></script>

<script>

$(document).ready(function(){ 

    $('body').append('<script src="/js/script.js?v="' +(new Date()).toISOString().substring(0, 10) + '><\/script>');

});

</script>



jquery 미 사용시에는 document.write를 동일하게 사용하면 된다.