2011-02-04 8 views
1
<script type="text/javascript" src="main.js"></script> 

이것은 내 헤더 페이지에 있으며 모든 페이지에 포함되어있는 경우입니다. 제 질문은 main.js에 변경 사항이있을 때 사용자가 브라우저 캐시를 새로 고침해야한다는 것입니다. 대신 이 main.js 변화를 다시 변경 ismade을 cache.If를 새로 고치지 않고 최신 변경 사항을 얻을 것입니다 것은새로 고침 html js 페이지

<script type="text/javascript" src="main.js?sumnumber"></script> 

내 질문처럼 만들 수있다 사용자입니다 그

<script type="text/javascript" src="main.js?1"></script> 

우리가 사용하는 경우의가 어떤 일반적인 방법을 이

+0

이 작업을 수행 할 수있는 적절한 방법은, 서버가 올바른 헤드를 돌려 가지고 있습니다 : http://www.mnot.net/cache_docs/ – RoToRa

답변

2

Date.geTime()을 사용하거나 진드기를 반환하는 일부는 흉상을 캐시하는 일반적인 방법입니다.

그러나 태그를 생성하는 것은 더욱 어려울 것입니다.

페이지가 캐싱되지 않도록 웹 서버 측에서 캐싱 할 수 있습니다.

1

소스 코드를 체크인 할 때마다 버전 관리 시스템에 버전 번호를 입력 할 수 있습니다.

는 CVS에서 당신이 $Revision$ 키워드를 사용할 수 있습니다 예컨대 : 당신이 다시 다운로드 강제로 같은 브라우저에서 모든 요청에 ​​대해 찾고 있다면

<script type="text/javascript" src="myfile.js?$Revision$"></script> 
+0

어떻게 브라우저 치료 $ 개정 $를하지? – Rajeev

+0

$ Revision $은 소스 제어로 체크인 할 때 파일의 버전 번호로 대체되므로 배포 한 결과 파일에는 $ Revision $이 없습니다. – dogbane

+0

동일한 동작을 SVN에 적용 할 수 있습니까? – Rajeev

0

을, 당신은 URL이, 예를 들어, 모든 시간을 변경하려면

<script type="text/javascript"> 
    document.write('<script type="text/javascript" src="main.js?' +Math.random()+ '"></script>'); 
</script>