JS IE 브 라 우 저 캐 시 제거 방법

js 에서 i 캐 시 를 자동 으로 지 우 는 방법-동적 파일,예 를 들 어 index.asp?id=..또는 index.aspx?id=..경험 이 있 는 프로그래머 들 은 브 라 우 저 캐 시 데 이 터 를 어떻게 금지 하 는 지 알 고 있 을 것 이 라 고 믿 습 니 다.그러나 정적 파일(css,jpg,gif 등)에 대해 서 는 어떤 상황 에서 브 라 우 저 캐 시 를 금지 해 야 합 니까?어떻게 해 야 합 니까?방법 1:Dojo 에서 우 리 는 간단 한 방법 으로 완성 할 수 있 습 니 다.dojo.xhrGet(post 포함)등 방법 에는 preventCache 속성 이 포함 되 어 있 습 니 다.이 속성 은"기본적으로 브 라 우 저 캐 시 를 사용 합 니 다.그렇지 않 으 면 자동 으로 다른 파 라 메 터 를 추가 하여 브 라 우 저 캐 시가 효력 을 잃 지 않도록 합 니 다".우 리 는 이 속성 을"true"로 할당 하면 됩 니 다.방법 2:document.write(그 중에서 ver=113 의 113 은 버 전 번호 이 고 보통 CVS 또는 다른 도구 로 생 성 된 개발 버 전 번호 입 니 다.이렇게 하면 캐 시 해 야 할 때 정적 파일 을 캐 시 하고 버 전이 업데이트 되 었 을 때 최신 버 전 을 가 져 오고 캐 시 를 업데이트 합 니 다.이미지 에 대해 서 는 캐 시 를 효과적으로 이용 하고 업데이트 합 니 다.js 는 브 라 우 저 캐 시 를 삭제 합 니 다.둘째,브 라 우 저 와 서버 간 의 네트워크 전송 압력 을 줄 이기 위해 서 는 js,css,수 정 된 그림 을 cache 로 합 니 다.즉,이 파일 들 의 HTTP 응답 헤더 에 Expires 와 Cache-Control 인 자 를 추가 하고 캐 시 시간 을 지정 합 니 다.이렇게 하면 일정 시간 동안 브 라 우 저 는 서버 에 어떠한 HTTP 요청 도 하지 않 습 니 다.(강제 리 셋 제외)그 동안 서버 의 js 나 css 또는 이미지 파일 이 여러 번 업데이트 되 었 음 에 도 불구 하고 브 라 우 저의 데 이 터 는 원래 최초 cache 의 오래된 데이터 입 니 다.브 라 우 저 에 게 수 정 된 최신 데 이 터 를 가 져 다 줄 방법 이 없 습 니까?네,방법 은 ajax 로 서버 의 최신 파일 을 요청 하고 요청 헤더 If-Modified-Since 와 Cache-Control 을 추가 하 는 것 입 니 다.다음 과 같 습 니 다.
 
$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader("Cache-Control","no-cache");

}
});
여기에 jquery 를 사 용 했 습 니 다.그러면 브 라 우 저 는 최신 파일 을 로 컬 의 오래된 파일 로 대체 합 니 다.물론,여기 서 또 하나의 문 제 는 js 가 서버 가 그 js,css,그림 을 업데이트 했다 는 것 을 알 아야 한 다 는 것 이다.쿠키 와 시간 버 전 을 이용 하면 해결 할 수 있 을 것 이다.jquery 는 1.2 부터 ifModified 와 cache 매개 변수 가 있 었 다.ifModified Boolean 기본 값:false 마지막 요청 이후 에 응답 이 변 경 된 경우 에 만 요청 이 성공 할 수 있 도록 허용 합 니 다.이 는 Last-Modified 헤 더 를 확인 하여 수 행 됩 니 다.기본 값 은 false 이 며 헤 더 를 무시 합 니 다.cache 부 울 기본 값:true jQuery 1.2 에 추가 되 었 습 니 다. if set to false it will force the pages that you request to not be cached by the browser.
 
$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
cache:false,
ifModified :true
});

좋은 웹페이지 즐겨찾기