2014-12-13 3 views
0

브라우저를 변경 한 후에 마지막으로 수정 한 JavaScript를 실행하려고하지만 브라우저는 캐시 된 데이터를 사용해야한다고 주장합니다. shift + f5를 사용하여 캐시 된 데이터를 덮어 쓰고 서버에서 새 복사본을 다운로드합니다. 이 경우 작동합니다.브라우저가 캐시 된 데이터를 무시하고 다시로드하는 방법

내가 사이트를 시작했고 지속적으로 사용한다고 가정 해 보겠습니다.

나는 자바 스크립트 파일을 변경 한 후. 사용자 중 누구도 변경 사항을 볼 수 없습니다 (변경 전 사이트에 입장 한 사용자). 그래서, 어떻게 모든 클라이언트가 현재 캐시 된 데이터를 지우거나 무시하고 모든 사이트를 다운로드하도록 할 수 있습니까?

해결 방법이 있습니다. 파일 이름을 변경하면 브라우저가 파일 이름을 다운로드합니다. 놀라운 일은 아닙니다. 브라우저가 캐시 된 데이터를 무시하도록하는 다른 솔루션이 있습니까?

답변

1

파일을 편집하고 다른 클라이언트 브라우저에서 자동으로 새로 고침하고자하는 경우 파일 이름이 <script src = "javascript-code.js"></script>이라고하면 파일 이름을 <script src = "javascript-code.js?rnd=123"></script>으로 바꿀 수 있습니다. 쿼리 문자열의 값을 변경하면 JS를 캐시 한 브라우저가 서버에서 새로운 사본을 가져와야합니다.

+0

파일을 바꿀 때마다 rnd를 변경해야합니까? – user2102266

+0

클라이언트 브라우저 캐시를 제어 할 수 없습니다. 브라우저가 JS를 현금화 한 경우, 브라우저를 속여서 파일을 다시로드해야한다고 생각하도록하는 것이 유일한 방법입니다. 무의미한 쿼리 문자열을 마지막에 추가하면 트릭을 수행 할 수 있습니다. 그리고 네가 변화를 할 때마다 다른 값을 주어야합니까? rnd = <귀하의 가치는 여기에 있습니다> –

관련 문제