답변:
Firefox 주소 표시 줄에 "about : config"를 입력하고 다음을 설정하십시오.
browser.cache.disk.enable = false
browser.cache.memory.enable = false
로컬로 개발하거나 HTML5의 새로운 매니페스트 속성을 사용하는 경우 about에서 다음을 설정해야 할 수도 있습니다.
browser.cache.offline.enable = false
웹 개발자 도구 모음은 아주 쉽게에 당신이 그것을 필요로 할 때 해제를 설정 할 수 있습니다 비활성화 캐싱 옵션이 있습니다.
사용하려고 노력 해요 CTRL- F5페이지를 업데이트?
Firefox 48 개발자 도구
도구 상자가 열려있을 때만 캐시를 해제 할 수 있습니다. 이는 웹 개발에 적합합니다.
https://stackoverflow.com/a/27397425/895245의 내용은 비슷하지만 그 이후로 위치가 약간 변경되었습니다.
서버 측 코드로 작업하는 경우 임의의 숫자를 생성하고 다음과 같은 방식으로 src 끝에 추가 할 수 있습니다 ....
src = "yourJavascriptFile.js? randomNumber = 434534"
randomNumber는 매번 무작위로 생성됩니다.
나는 고대의 질문을 부활시키고 있다는 것을 알고 있지만 오늘이 문제를 해결하고 다른 해결책을 찾으려고 노력했습니다. 테스트를 원할 때 캐싱을 토글하는 것은 실제로 허용되지 않았으며 다른 사람들이 언급했듯이 하드 새로 고침 (ctrl + shift + r)이 항상 작동하지는 않습니다.
대신, 나는 dev 환경에서 내 vhost.conf 파일에 .htaccess에서 수행 할 수있는 다음을 선택했습니다.
<FilesMatch "\.(js|css)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>
</FilesMatch>
내 개발 환경에서 이것은 js와 css가 항상 검색되도록합니다. 또한 나머지 브라우징에는 영향을 미치지 않으며 모든 브라우저에서도 작동하므로 Chrome / ie 등의 테스트도 쉽습니다.
스 니펫을 여기에서 발견하십시오. 다른 유용한 아파치 트릭도 있습니다 : http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html#prevent-caching-with-htaccess
고객이 항상 프로덕션 환경에서 최신 버전을 볼 수 있도록 각 업데이트에 포함 된 js의 쿼리 문자열을 증가시킵니다.
jquery.somefile.js?v=0.5
이렇게하면 클라이언트의 브라우저가 새 쿼리 문자열을 볼 때 로컬 캐시를 강제로 업데이트하지만 파일이 다시 업데이트 될 때까지 새 복사본을 캐시합니다
최선의 전략은 변경 될 때마다 재설정되는 JS 파일에 고유 한 URL을 작성하도록 사이트를 설계하는 것입니다. 이렇게하면 변경 사항이 없을 때 캐싱하지만 변경이 발생하면 즉시 다시로드됩니다.
특정 환경 도구에 맞게 조정해야하지만 PHP / Apache를 사용하는 경우 다음은 최종 사용자와 사용자 모두를위한 훌륭한 솔루션입니다.
http://verens.com/archives/2008/04/09/javascript-cache-problem-solved/
CTRL- F5를 사용 하여 캐시를 무시하고 다시로드 할 수 있습니다 .
캐시를 사용하지 않도록 firefox에서 환경 설정을 설정할 수 있습니다
network.http.use-cache = false
js 파일에 대해 no-cache / Expires / Cache-Control 헤더를 보내도록 웹 서버를 설정할 수 있습니다.
다음은 아파치 웹 서버 의 예 입니다.
게시 된 마지막 두 솔루션에는 장단점이 있지만 둘 다 IMHO의 훌륭한 솔루션입니다.
보안 강화를 위해 세션 ID를 URL에 포함 시키거나 원하지 않을 수 있습니다. 그러나 개발에서 중요하지는 않지만 제거하는 것을 잊어 버린 경우 어떻게해야합니까? 또한 실제로 작동합니까? 순차 번호 생성기 (세션에 저장된 적중 횟수 또는 0, 1, 0이면 1)와 같은 것이 필요하지 않습니까?
세션 ID (또는 시퀀서)를 추가하면 캐시하지 않으려는 모든 리소스에 세션 ID를 추가해야합니다. 한편으로는 적극적으로 개발하고 테스트하는 리소스만으로 세션 ID를 포함시킬 수 있기 때문에 더 좋습니다. 반면에, 그것은 당신이 그렇게해야한다는 것을 의미하며, 생산을 위해 그것을 제거해야한다는 것을 기억해야합니다.
vhost.conf 또는 .htaccess 파일을 수정하면 세션 ID를 추가하고 제거 할 필요없이 트릭을 훌륭하게 수행 할 수 있습니다. 그러나 단점은 모든 js 및 css 리소스의 성능에 영향을 미치며 큰 파일이 있으면 속도가 느려집니다.
둘 다 훌륭하고 우아한 솔루션처럼 보입니다. 필요에 따라 다릅니다.
내가 사용 CTRL- SHIFT- DELETE당신이 한 번에 등 캐시, 리셋 쿠키, 모두를 취소 할 수 있도록 개인 정보 보호 기능을 활성화한다. 확인을 요청하는 대화 상자가 나타나지 않고 그냥 수행하도록 구성 할 수도 있습니다.
Nightly와 같은 Firefox의 상위 버전에는 "캐시 비활성화"라는 옵션이 있습니다. 톱니 바퀴를 클릭하여 찾을 수 있습니다. 이 옵션은 현재 세션에서만 작동합니다. 즉, 검사기를 닫고 다시 시작할 때 캐치를 비활성화하려면 다시 확인해야합니다.
다양한 대안을 찾기 위해 2 시간 동안 탐색 한 후에 이것은 나에게 도움이되었습니다.
내 요구 사항은 스프링 보안 웹 응용 프로그램에서 js 및 css 파일 캐싱을 비활성화하는 것이 었습니다. 그러나 동시에 이러한 파일을 특정 세션 내에서 "캐싱"합니다.
모든 요청에 고유 ID를 전달하는 것이 권장되는 접근 방법 중 하나입니다.
그리고 이것은 내가 한 일입니다 :-대신
<script language="javascript" src="js/home.js"></script>
나는 사용했다
<script language="javascript" src="js/home.js?id=${pageContext.session.id}"></script>
위의 접근 방식에 대한 모든 단점은 환영합니다. 보안 문제들 ?
firefox 45에서 디스크 캐시 옵션은 browser.cache.disk.enable 값을 변경하여 설정할 수 있습니다.
"about : config"페이지에서 값을 설정할 수 있습니다.
에 http://kb.mozillazine.org/About:config_entries#Browser 나는 "browser.cache.disk.enable"에 대한 다음과 같은 설명을 발견 :
True (기본값) : browser.cache.disk.capacity에 지정된 용량까지 디스크 캐시를 사용합니다. False : 디스크 캐시를 사용하지 않습니다 (browser.cache.disk.capacity를 0으로 설정 한 것과 동일).