캐시 매니페스트 파일을 가지고 놀고 있었는데 선언 된 페이지를 캐싱하지 못하게하려고했습니다. HTML5 RocksHTML5 오프라인 매니페스트 캐싱 중지 페이지 선언 됨
사용자가 탐색 모든 페이지에서
매니페스트가 암시 적으로 응용 프로그램 캐시
에이스에 추가됩니다 포함 그것. 매니페스트 파일에서 특정 아티팩트를 캐싱하고 싶습니다. 그 중 하나는 내 온라인 단일 페이지 앱 HTML의 오프라인 버전이지만 온라인 버전은 캐시하지 않습니다.
캐시 매니페스트 파일을 가지고 놀고 있었는데 선언 된 페이지를 캐싱하지 못하게하려고했습니다. HTML5 RocksHTML5 오프라인 매니페스트 캐싱 중지 페이지 선언 됨
사용자가 탐색 모든 페이지에서
매니페스트가 암시 적으로 응용 프로그램 캐시
에이스에 추가됩니다 포함 그것. 매니페스트 파일에서 특정 아티팩트를 캐싱하고 싶습니다. 그 중 하나는 내 온라인 단일 페이지 앱 HTML의 오프라인 버전이지만 온라인 버전은 캐시하지 않습니다.
이렇게하면 문제가 해결됩니다. mydomain.com/로 이동 내 매니페스트 파일
CACHE MANIFEST
# Version 0.1
CACHE:
# Minimised Styles
/css/style.0.1.min.css
# Minimised JavaScript
/js/script.0.1.min.js
FALLBACK:
//offline.html
NETWORK:
*
참고 모든 오프라인 이제 방법은 것만 캐시 (캐시) /offline.html 이제
에 갈 때 매니페스트 파일에 온라인 페이지를 포함하지 않고 mydomain.com/.
는 mydomain.com/
<iframe src="/offline.html" style="display: none;"></iframe>
에서 페이지의 맨 아래에 다음과 같은 iframe을 넣어 offline.html에 manifest="myapp.appcache"
을 넣어.
즉, mydomain.com/이로드되면 해당 페이지에 매니페스트 특성이 없으므로 캐싱되지 않습니다. 그런 다음 브라우저가 iframe을 통해 offline.html을 가져오고 HTML 속성이있어 offline.html 페이지를 포함하여 매니페스트 파일의 지침을 사용하여 캐싱을 원하는 모든 항목을 추가합니다.
내가 볼 수있는 유일한 오버 헤드는 첫 번째 페이지로드시 iframe에서 추가 HTTP 요청을하게되지만 일단 캐싱되면 캐시에서 가져 오므로 큰 문제는 아닙니다.
아직 HTML5에 익숙하지 않지만 매니페스트를 포함하여 페이지를 캐싱하지 못하도록 잘 정의 된 방법이 없다는 것에 놀랐습니다. –
그래, 나도 그래. 매니 페스트 파일이 더 많은 영향력을 가지므로 선언 한 내용 만 캐시에 저장하면 선호했을 것입니다. 페이지와 연결되어서는 안됩니다. 그것은 단순히 숨겨진 기능입니다. – Greg
첫 번째 생각은 "네트워크에 추가 : 섹션"이었지만 일부 테스트 후에는 작동하지 않습니다 (IE에서는 적어도 작동하지 않을 때 한 번만 테스트를 중단했습니다). 그게 내 생각에 명백히 틀린거야. 명시 적으로 선언 된 것은 항상 기본 동작을 무시해야한다는 것이다. 이와 같은 문제로 인해 오프라인 자료를 사용하는 것에 대해서는 여전히 잠정적입니다. – Morvael