반응형
내 Javascript 파일의 캐싱을 방지하는 방법은 무엇입니까? [복제]
이 질문에 이미 답변이 있습니다.
간단한 HTML이 있습니다.
<html>
<body>
<head>
<meta charset="utf-8">
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
<script src="test.js"></script>
</body>
</html>
test.js에서 Javascript 기능을 변경했지만 브라우저가이 파일을 캐시하고 있습니다. 스크립트 src에 대해 캐시를 비활성화하는 방법은 무엇입니까?
임의의 쿼리 문자열을 src
변경할 때마다 쿼리 문자열을 증가시켜 수동으로 수행 할 수 있습니다.
<script src="test.js?version=1"></script>
또는 서버 측 언어를 사용하는 경우 다음을 자동으로 생성 할 수 있습니다.
ASP.NET :
<script src="test.js?rndstr=<%= getRandomStr() %>"></script>
캐시 무효화에 대한 자세한 정보는 여기에서 찾을 수 있습니다.
https://curtistimson.co.uk/post/front-end-dev/what-is-cache-busting/
<script src="test.js?random=<?php echo uniqid(); ?>"></script>
편집 : 또는 클라이언트에 캐시되도록 파일 수정 시간을 사용할 수 있습니다.
<script src="test.js?random=<?php echo filemtime('test.js'); ?>"></script>
스크립트에 대한 캐싱 제어 HTTP 헤더를 보내도록 웹 서버 를 구성하십시오 .
HTML 문서의 가짜 헤더 :
- 실제 HTTP 헤더만큼 잘 지원되지 않습니다.
- 링크 된 리소스가 아닌 HTML 문서에 적용
src에 queryString을 추가하고 업데이트 된 버전을 릴리스 할 때만 변경할 수 있습니다.
<script src="test.js?v=1"></script>
이러한 방식으로 브라우저는 새 버전이 지정 될 때까지 캐시 된 버전을 사용합니다 (v = 2, v = 3 ...).
임의의 (또는 datetime 문자열)을 스크립트를 가리키는 URL에 쿼리 문자열로 추가 할 수 있습니다. 이렇게 :
<script type="text/javascript" src="test.js?q=123"></script>
페이지를 새로 고칠 때마다 'q'값이 변경되었는지 확인해야합니다.
참고 URL : https://stackoverflow.com/questions/7413234/how-to-prevent-caching-of-my-javascript-file
반응형
'Programming' 카테고리의 다른 글
Postgres : 고유하지만 단 하나의 열 (0) | 2020.08.11 |
---|---|
상대 가져 오기-ModuleNotFoundError : x라는 모듈이 없습니다. (0) | 2020.08.11 |
django 2.0의 urls.py에서 path () 또는 url ()을 사용하는 것이 더 낫습니까? (0) | 2020.08.11 |
JSX에서 "내보내기 기본값"은 무엇을합니까? (0) | 2020.08.11 |
Xcode 9 Swift 언어 버전 (SWIFT_VERSION) (0) | 2020.08.11 |