2011-01-28 3 views
12

"응용 프로그램 캐시가있는 매니페스트"를 사용하는 HTML5 응용 프로그램을 작성하고 있습니다.매니페스트가있는 응용 프로그램 캐시를 해제하십시오.

그러나 내가 개발하는 동안 나는 그것을 끄고 싶다.

태그에서 매니페스트 속성을 제거하고 매니페스트 파일의 모든 항목을 네트워크로 전환 해 보았습니다.

처음 업데이트시 업데이트되었지만 모든 하위 시퀀스 업데이트는 서버가 아닌 캐시에서 계속 읽습니다.

HTML 파일이 업데이트되었고 더 이상 태그에 매니페스트 속성이없는 것을 볼 수 있지만 여전히 캐시에서로드됩니다.

구글 크롬에서 "매니페스트와 응용 프로그램 캐시"를 해제하는 방법이 있나요 :

내가 지금 여기, 당신이 그것을 설정 한 후에을 해제하는 방법을 알아낼 수 없습니다 내 질문?

+0

관련 : http://stackoverflow.com/questions/1715568/how-to-properly-invalidate-an-html5-cache-manifest-for-online-offline-web-apps –

답변

19

Chrome에서는 보닛 -> 콘텐츠 설정 -> 쿠키 -> 쿠키 및 기타 사이트 데이터 표시로 이동하여 사이트 데이터 아래에 애플리케이션 캐시가 표시됩니다.

Firefox의 경우 고급 -> 네트워크로 이동하면 응용 프로그램 캐시가있는 사이트가 하단의 상자에 나열됩니다.

현재 서버 측에서 애플리케이션 캐시를 완전히 제거하거나 만료 할 방법이 없습니다. 할 수있는 최선의 방법은 브라우저에 캐시 된 모든 파일을 제거하도록 명시 적으로 지정하는 것입니다. 네트워크 섹션 만있는 매니페스트는 다른 모든 파일을 삭제해야하지만 매니페스트 참조가있는 파일 자체는 항상 캐시됩니다.

이 대답은 더 이상 완전히 올바른

을 --edit 없습니다. 현재 standard states :

매니페스트를 가져 오는 것은 인해 404 또는 410 응답 또는 동등한 ... 마크 캐시 그룹으로 폐기에 실패 할 경우

. 이 캐시 그룹은 더 이상 이 문서 개체 의 처리 이외의 목적으로 캐시 그룹의 응용 프로그램 캐시와 이미 연결되어 있지 않습니다.

입니다

: 매니페스트 파일을 삭제하면 앱 캐시는 브라우저가

+0

나는 거기에서 보았다. 그것이있는 도메인을 위해 아무것도 없다. 쿠키 때문이 아니라 응용 프로그램 캐시 때문이라고 생각합니다. – HM2K

+6

실수를 저질렀습니다. 잘못된 컴퓨터에서 잘못된 브라우저를보고있었습니다. Appcache를 지울 수 있었지만 appcache를 지우려면 다음을 방문하십시오. chrome : // appcache-internals/ – HM2K

+0

@ HM2K appcache-internals 링크를 이용해 주셔서 감사합니다. – robertc

0

나는 당신이 당신의 응용 프로그램에서 아무 것도 변경이 매번 제안 업데이트하려고 시도 다음 번에 삭제 될 수 있어야, 당신은 매니페스트를 변경해야 파일뿐만 아니라 당신이 방금 만든 최신 수정이 고려됩니다.

내가 매니페스트를 변경 말할

, 당신은이 같은 의견에 버전 번호를 변경할 수 있습니다

# version 1 

그것은 다른 사람을 잃어버린이 방법보다는 캐시 매번 청소 (그리고 같은 시간에 더 편리합니다 다른 사이트에 대한 정보가 있으므로 다시 로그인해야합니다 ... 등)

+0

적합하지 않습니다. 이것은 ApplicationCache를 "해제"하지 않고 2 회 새로 고친 후 업데이트합니다. 나는 그것을 다시 사용할 준비가 될 때까지 지금 그것을 시험해 보았다. – HM2K

3

개발 컴퓨터에서 매니페스트 파일을 삭제하십시오.

1

"--disable-application-cache"명령 줄 스위치를 통해 Chrome에서 응용 프로그램 캐시를 비활성화 할 수 있습니다 (Linux의 빌드를 사용하는 Chrome의 개발 채널에 있습니다 ...). 베타에서 동일한 /과) 다른 플랫폼을위한 표준 채널 :

google-chrome --disable-application-cache 
0

매니페스트와 응용 프로그램과 작업 할 때, 나는이 시작 페이지를 만들 : - 매니페스트 정보 를 포함하고있다 index.html을을 - 매니페스트 정보가없는 index.dev.html

나는 보통 색인에서 시작합니다. 내 개발 환경에서 dev.html 그래서 캐시를 디버깅 할 수 있습니다. 코드가 디버깅되면 index.html 파일에서 실행하여 appcache 파일을 올바로 구성했는지 확인합니다.

0

이것은 데스크톱 및 모바일 Safari (홈 화면에서도)에서 작동합니다. Chrome과 같은 다른 웹킷 브라우저에서 작동 할 수 있다고 생각합니다. 모든 ".appcache"파일을 "텍스트/캐시 매니페스트"에

  1. 변경 서버 MIME는
  2. 은 HTML로 추가

<html manifest="example.appcache">

  1. "example.appcache "파일 사용

CACHE MANIFEST 
 
# 2016-01-07:v1.0.4 
 

 
# This is the default section for entries. Files listed under this header (or immediately after the CACHE MANIFEST) will be explicitly cached after they're downloaded for the first time. 
 
CACHE: 
 

 

 
# Files listed in this section may come from the network if they aren't in the cache, otherwise the network isn't used, even if the user is online. You can white-list specific URLs here, or simply "*", which allows all URLs. Most sites need "*". 
 
NETWORK: 
 
* 
 

 
# An optional section specifying fallback pages if a resource is inaccessible. The first URI is the resource, the second is the fallback used if the network request fails or errors. Both URIs must from the same origin as the manifest file. You can capture specific URLs but also URL prefixes. "images/large/" will capture failures from URLs such as "images/large/whatever/img.jpg". 
 
FALLBACK:

관련 문제