파란하늘의 지식창고
반응형
브라우저는 처음 호출된 페이지의 반복성 파일들(image파일, js, css파일)을 사용자의 로컬 디스크에 임시 인터넷 파일로 저장하고 재 호출시에 저장된 파일을 불러들여 사용하게 된다.

매번 같은 파일을 다운로드해야하는 불편함을 줄여주는 좋은 기능이지만 만약 js파일이 시시각각 달라지는 내용을 담고 있는 경우 호출을 어떻게 해야할까?

이런 경우 파일의 뒤에 요청하는 파라메터의 값을 매번 바꾸어주면 된다.
<script language='javascript' type='text/javascript'>
var script=document.createElement('script');
var url = '해당 js주소';
script.type='text/javascript';
script.language='javascript';
script.src=url + '?d=' + new Date().getTime();
document.body.appendChild(script);
</script>
위의 코드가 너무 길다면 아래와 같이 써도 무방하다.
<script language='javascript' type='text/javascript'>
var src = action + "?d=" + new Date().getTime();
document.write("<script language='\"javascript\"' src='\""' type='\"text/javascript\"' ?\? +></script>"); 
</script>
d라는 이름의 파라메터로 매번 변하는 시간을 값으로 요청을 하면 매번 브라우저는 js파일을 새롭게 갱신하게 된다.
굳이 파라메터의 이름이 d일 필요는 없다.

주의해야 하는 점은 위와 같이 사용한 경우 아래와 같이 브라우저는 인식하게 된다.
<script language='javascript' type='text/javascript' src='해당 js주소?d=변하는시간'></script>
따라서 해당 js를 호출하는 스크립트 이외의 호출한 js의 내용을 다루거나 display를 하는 스크립트가 스크립트 블록에 들어가 있으면 올바르게 동작하지 않는다.
이후 JavaScript의 코드 작성은 새로운 영역의 스크립트 블록에서 한다.
이는 기존의 js호출과 동일하다.
<script language='javascript' type='text/javascript' src='해당 js주소?d=변하는시간'></script>
<script language='javascript' type='text/javascript'>
//원하는 기능의 js코드 작성
</script>
반응형
profile

파란하늘의 지식창고

@Bluesky_

내용이 유익했다면 광고 배너를 클릭 해주세요