2009-04-05 6 views
3

나는 자바 스크립트 초보자와 나는 다음과 같은 문제가 발생하고있다 :는 자바 스크립트 가능 브라우저 캐시 문제

나는 HTML 코드에있는 파일을 포함, 별도의 파일에 JS 코드를 작성합니다. JS 코드는 훌륭하게 실행됩니다. 아무 문제 없습니다. JS 코드를 변경하고 브라우저 창에서 '새로 고침'을 클릭하면 문제가 생길 수 있습니다. JS 코드에 대한 변경 사항은 엉망이되었습니다. 코드가 예상대로 작동하지 않습니다. 그래서 문제를 찾기 시작하지만 코드는 완벽합니다. 그래서 브라우저의 캐시를 지우고 있습니다. JS 코드의 변경 사항을 실행 취소하면 모든 것이 작동합니다. 갑자기 몇 번의 새로 고침 클릭 후 새 코드를 다시 삽입합니다. Safari 4, Firefox 2.0을 사용하여이 문제가 발생했습니다. 나는 다른 브라우저를 시도하지 않았다.

내 질문은 - 일부 JS 기술을 사용하거나 단순히 브라우저에서 캐싱을 해제해야합니까, 아니면 다른 문제가 있습니까? 시간을내어 도와 주셔서 감사합니다!

답변

3

대부분의 시간 동안 웹 페이지를 새로 고침/새로 고침하면 캐시에서 스크립트가 다시로드됩니다. Shift 키를 누른 상태에서 새로 고침 버튼을 클릭하면 브라우저가 외부 스크립트 파일을 다시로드하도록 할 수 있습니다.

그래도 작동하지 않으면 사용자와 웹 페이지 사이에 프록시 서버가 있는지 확인할 수 있습니다. 로컬 웹 페이지 인 경우 Shift 버튼을 눌러야합니다.

4

캐싱을 물리 칠 것 임의의 키와 JS 파일을 참조하는 경우 :

예 : 아무것도 경우 디버깅을위한

var randomnumber=Math.floor(Math.random()*10000) 
var scriptfile='http://www.whatever.com/myjs.js?rnd='+randnumber; 

좋은.

+0

고맙습니다. 코드를 확인하기 시작한 이래로 자주 저를 괴롭 히고 있습니다. 아무 문제가 없습니다. – dalizard

+0

임의의 숫자 대신 버전 번호와 같은 것을 사용할 수 있습니다. 이런 식으로 브라우저는 동일한 버전의 JS 만 캐시합니다. 코드 (js)에서 내용을 변경하면 버전이 변경되고 모든 클라이언트가 자동으로 새 JS를 찾습니다. 같은 트릭이 CSS로 만들 수 있습니다. – ejoncas

1

일부 JS를 디버깅 할 때 자바 스크립트의 URL을 다른 탭에서 열어 놓았습니다. 업로드 할 때 먼저 탭으로 전환하고 새로 고침을 누른 다음 코드를 테스트하십시오. 파이어 폭스 WebDeveloper 플러그인에서의 캐싱.

2

개인적으로 개인적으로 Ctrl + F5 키를 눌러 새로 고침합니다.