Firefox 및 Chrome에서 JavaScript 파일 만 강제 새로 고침


64

웹 브라우저 (Firefox 및 Chrome)에서 JavaScript 파일 만 지우고 싶습니다. JavaScript 디버깅을하고 있는데 JS 파일을 변경할 때마다 JS가 업데이트되지 않는 것이 짜증납니다. 내가 할 수있는 유일한 일은 쿠키를 지우는 것이지만 그렇게하면 모든 인터넷 사용 기록이 지워집니다.

다른 파일을 지우지 않고 브라우저에로드 된 JavaScript 파일을 지우거나 새로 고치는 방법은 무엇입니까?

답변:


42

나는 이것을 개발하기 위해 스스로한다. 나는 Ctrl+를 사용한다 F5. 강제 새로 고침과 같습니다. 이렇게하면 참조 된 JavaScript 파일 또는 CSS 파일이 캐시 된 경우에도 다시 다운로드하는 등 페이지를 새로 고칩니다.

인터넷 사용 기록과 같은 다른 내용은 삭제되지 않습니다.

그러나 이것이 Firefox 및 Internet Explorer에서 작동한다는 것을 알고 있지만 Chrome에서 Ctrl+ F5가 동일한 방식으로 작동 하는지 확실하지 않습니다 .

또한 iegik 은 다음 과 같이 말합니다.

일부 브라우저에서는` Ctrl+ Shift+ R를 사용 하여 동일한 작업을 수행 할 수 있습니다 .


큰! 당신이 간단한 해결책이기 때문에 나는 당신에게 허용 대답을 변경
라비

고맙지 만 ... Firefox 및 IE에서 작동한다는 것을 알고 있지만 CTRL-F5가 Chrome에서 동일한 방식으로 작동하는지 확실하지 않습니다.
7wp

2
Win7의 Chrome 21 베타와 동일-ctrl-f5로 페이지를 새로 고치면 JS 파일이 다시 요청되지 않습니다 (Charles를 사용하여 이중 확인합니다).
Artem Russakovskii 3

1
실제로 크롬은 디자인에 의해 첫 번째 ctrl + f5를 일반 새로 고침으로 처리합니다. 단시간에 ctrl + f5 (다음에 하나 이상)가
있으면

1
Chrome의 경우 F12를 누르고 다시로드 버튼을 마우스 오른쪽 버튼으로 클릭하십시오. superuser.com/questions/220179/…
Cees Timmerman

50

Chrome 사용시 :

Chrome 15부터 개발자 도구를 열고 화면 왼쪽 하단의 톱니 바퀴를 클릭하고 캐시 사용 안함 확인란을 선택 합니다 .

Chrome 15 이상에서 캐시 비활성화

이렇게하면 리소스가 항상 서버에서 다시로드되고 캐시를 수동으로 지울 필요가 없으므로 관련이없는 사이트의 캐시 된 데이터가 제거 될 수 있습니다.


팁 주셔서 감사합니다-방금 확인했으며 해당 옵션은 Chrome 14에도 있습니다.
비트

천재! 좋은 발견입니다.
Randomblue

브릴리언트, 나는 이것을 찾고 있었다.
Artem Russakovskii

... 완료된 후에 옵션의 선택을 취소하는 것을 잊지 마십시오.
Halil Özgür

: 두 번째 테이크에서 그것은 DevTools로가 볼 때이 옵션은 활성화되어 보이는 twitter.com/ChromiumDev/status/227356682890670080 (에서 stackoverflow.com/a/7000899/372654 )
할릴 오즈

8

@ 7wp에 동의하지 않습니다. 최종 사용자 중 일부는 Ctrl+ F5기능에 익숙하지 않으며 일부는 브라우저의 차이점과 다른 브라우저 (예 : 필드)의 존재를 인식하지 못하므로 브라우저에서 새 사본을 다운로드하도록 강요해야합니다. JS / CSS 파일

여기서 가장 좋은 해결책은 .js / .css 파일 이름 끝에 타임 스탬프를 추가하거나 svn 버전을 추가하는 것입니다.

<script src="js/myfile.js?t=<?=time()?>" type="text/javascript"></script>

5

전체 브라우징, 기록, 쿠키, 비밀번호, 저장된 양식 데이터 및 기타 정보 (기본값)가 아닌 캐시 만 지우려고 할 수 있습니다.

Firefox 3.5에서

도구»최근 기록 지우기 ...

그런 다음 "지금 삭제"를 선택하기 전에 "캐시"만 선택하십시오.

Chrome에서 (개발 빌드를 사용할 때 사용중인 특정 버전을 모르는 경우)

공구 모양 아이콘 (도구)»옵션»개인 용품 탭»인터넷 사용 정보 삭제 ...

다시 "캐시 비우기"만 선택되어 있는지 확인하십시오.

또는 Firefox에서 Firefox 또는 시크릿 창에서 새 비공개 세션을 열어 볼 수도 있습니다. 탐색 할 때 자동으로 다운로드하여 처리하는 파일 (.JS 파일 포함)을 캐시하지 않아야합니다.


시크릿은 아마도 Chrome으로가는 길입니다.
mdoar

1

나는 당신과 같은 이유로 내가 일하고있는 사이트에서 약간의 트릭을 사용하고 있습니다. 작은 변경을하고 JavaScript 코드로 JavaScript 코드를로드했으며 항상 현재 (캐시되지 않은) 스크립트로 작업하고 있는지 확인하고 싶습니다.

PHP 파일로로드하는 JavaScript 코드를 만들어보십시오 <?php ?>. 처음에 간단히 넣고 .php의 끝에 놓으십시오.

var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");

// The Date added to the file doesn't effect the results but
// helps Internet Explorer be sure to refresh the data and
// not use cache

var d = new Date();

var t = d.getTime();

fileref.setAttribute("src", filename + ".php?date=" + t);

fileref.setAttribute("id", filename);

이름이 변경되기 때문에 Internet Explorer는 새 파일이라고 생각합니다.)


1
이름을 '.php'로 변경할 필요가 없습니다. 'filename.js? t ='+ t를 넣으면 결과는 같습니다. '.css'로도 할 수 있습니다. 당사의 모든 프로덕션 시스템은이 트릭을 사용하여 클라이언트가 올바른 컨텐츠 파일을 사용함을 인증합니다.
Leonel Martins

1
참고로, 날짜 / 시간 대신 SVN 개정 번호를 사용하는 경향이 있습니다. 그렇게하면 캐싱 혜택을 받고 실제로 커밋 할 때만 새로 고칩니다.
Groo

정말 고마워! 이 속임수는 내 마음을 완전히 미끄러 뜨렸다. 나는이 문제를 며칠 동안 싸우고 있었고 이것이 나를 위해 할 것입니다. 난 그냥 URL 끝에 "? <? php echo time ()?>"을
넣었습니다

1

Chrome에서는 Ctrl새로 고침 버튼을 누르고 클릭하면됩니다. 나는 우연히 이것을 발견했다.


이것은 전체 페이지의 하드 새로 고침을 수행하지만 Javascript 만 새로 고침한다고 생각하지 않습니다.
Ivo Flipse

1

별도의 탭에서 JavaScript 파일을 열고 Shift+ 새로 고침, 최신 변경 사항이 표시되는지 확인한 다음 Shift실제 페이지를 새로 고칩니다 (실제로 프레임 세트의 프레임으로 인해 문제가 악화되는 것으로 보입니다). 이것은 거의 항상 작동합니다.


0

필자가 직접 사용하지는 않았지만 Firefox 애드온 "Clear Cache Button" 이 사용될 수 있습니다. 설명서를 읽었으므로 인터넷 사용 기록이 지워 졌는지 잘 모르겠습니다.


0

Chrome의 콘텐츠 설정으로 이동하여 JavaScript를 비활성화하고 저장하십시오.

그런 다음 JavaScript를 다시 활성화하십시오.


0

JavaScript로 작업 중이고 JavaScript 변경 사항을 반영하기 위해 페이지를 다시로드하는 것이 걱정되는 경우. 로드 된 JavaScript 파일을 런타임에 변경할 수있는 Chrome 디버거를 사용하십시오. 다시로드하지 않고도 새로운 기능이나 테스트하려는 변경 사항을 테스트 할 수 있습니다.


슈퍼 유저에 오신 것을 환영합니다! 질문을주의 깊게 다시 읽으십시오. 귀하의 답변은 원래 질문에 대한 답변이 아닙니다 .
DavidPostill


0

JavaScript 파일 끝에 동적 날짜 기능을 추가하십시오. 브라우저가 업데이트 된 JavaScript 파일을 강제로로드합니다. .js 파일을 포함시킬 때 .... xyz.js를 추가 할 수 있습니까?

< ? php echo date('l jS \of F Y h:i:s A') ? >

물론 디버깅이 완료되고 실행 준비가되면 제거 할 수 있습니다.


이것은 자바 스크립트가 아닙니다.
Natalie Adams
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.