[javascript] 내 JS 파일 캐싱 Chrome 중지

JS 파일을 변경하지만 브라우저에서 실제로 변경되지는 않으므로 파일을 다시로드 할 때마다 파일 이름을 바꿔야합니다. 추가 할 수있는 일종의 .htaccess 명령이나 캐싱을 중지시킬 수있는 것이 있습니까?

심지어 html 페이지 하드 코어를 캐싱하고 있습니다. 변경 사항을 보려면 전체 브라우저를 다시 열어야합니다. 서버 문제 일 수 있습니까?



답변

오른쪽 상단의 설정 아이콘을 클릭 할 수 있습니다. ...| 더 많은 도구 | 개발자 도구 | 네트워크 | 캐시 비활성화 (DevTools가 열려있는 동안)

Windows의 경우 Mac에서 F12또는 CTRL + SHIFT + IMac에서 CMD + SHIFT + IDevTools가 열립니다.

Chrome 업데이트 2018 년 9 월의 새로운 경로 :

오른쪽 상단에서 설정 아이콘을 클릭하십시오. ...| 설정 | 환경 설정 | 개발자 도구 | 네트워크 | 캐시 비활성화 (DevTools가 열려있는 동안)


답변

주소 표시 줄 옆에있는 새로 고침 아이콘을 마우스 오른쪽 버튼으로 클릭하고 캐시 비우기 및 하드 새로 고침을 선택하면 더 빠른 방법입니다.

Chrome의 개발 도구가 열려 있는지 확인하십시오. 그건 그렇고 …이 트릭은 Windows, Ubuntu 및 Mac OS 용 Chrome에서만 작동합니다.


답변

새로 고침 버튼을 클릭 한 상태에서 Shift 키를 길게 누릅니다.


답변

같은 것을 추가하십시오 script.js?a=[random Number]PHP에서 생성 한 난수와 .

pragma “no-cache”및 “cache-control = NO-CACHE”expire = 0을 사용해 보셨습니까? (나는 그들이 스크립트에 대해 말하는 것을 몰라).


답변

몇 가지 아이디어 :

  1. Chrome에서 페이지를 새로 고칠 때 CTRL + F5를 수행하여 완전히 새로 고칩니다.
  2. 만료를 0으로 설정하더라도 세션 중에는 계속 캐시됩니다. 브라우저를 다시 닫았다가 다시 열어야합니다.
  3. 서버에 파일을 저장할 때 타임 스탬프가 업데이트되는지 확인하십시오. Chrome은 HEAD전체 GET 대신 명령을 실행하여 전체 파일을 다시 다운로드해야하는지 확인하고 서버는 타임 스탬프를 사용하여 확인합니다.

서버에서 캐싱을 비활성화하려면 다음과 같이 할 수 있습니다.

Header set Expires "Thu, 19 Nov 1981 08:52:00 GM"
Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
Header set Pragma "no-cache"

htaccess로


답변

빠른 단계 :

1) Chrome 메뉴-> 도구-> 개발자 도구로 이동하여 개발자 도구 대시 보드를 엽니 다.

2) 오른쪽의 설정 아이콘을 클릭하십시오 (장부입니다!)

3) “캐시 비활성화 (DevTools가 열려있을 때)”확인란을 선택하십시오.

4) 이제 대시 보드가 가동되는 동안 새로 고침을 누르면 JS가 캐시되지 않습니다!


답변

문제는 Chrome이 must-revalidate 파일을 다시 가져와야하는지 확인하기 위해 이 Cache-Control` 헤더에 있어야한다는 것입니다.

언제든지 SHIFT-F5를 사용하여 Chrome을 강제로 새로 고침 할 수 있지만 서버에서이 문제를 해결하려면 다음 응답 헤더를 포함하십시오.

Cache-Control: must-revalidate

그러면 Chrome에서 서버를 확인하고 최신 파일이 있는지 확인합니다. 최신 파일이 있으면 응답으로 파일을받습니다. 그렇지 않은 경우 304 응답을 수신하고 캐시에있는 응답이 최신 상태임을 보증합니다.

이 헤더를 설정하지 않으면 파일을 무효화하는 다른 설정이 없으면 Chrome은 절대 서버에 최신 버전이 있는지 확인 .

다음은 이 문제를 자세히 설명 하는 블로그 게시물 입니다.