H5 오프라인 캐시 문제
준비 작업:demo를nginx 서버에 넣고 뛰기 시작하기 (startnginx)
manifest 파일을 html 탭에 manifest 속성 프로젝트 루트 디렉터리에 설정합니다./index.manifest 파일의 내용은 다음과 같습니다
CACHE MANIFEST
#version 1
#CACHE:
CACHE:
index.html
img/u-img.jpg
#NETWORK: ,
NETWORK:
FALLBACK: 404.html
// manifest
window.applicationCache.update();
크롬 콘솔의 오류는 다음과 같습니다. Uncaught DOMException: failed to execute'update'on'응용 프로그램 캐시': there is no application cache to update.문제는 manifest에서 그림의 경로를 잘못 썼기 때문이다.img/u-img.png는img/u-img로 썼습니다.jpg 때문에 오프라인 캐시가 불가능합니다. manifest에 설정된 파일이 정확할 때 you able to see some files in Chrome's web dev tools under Resource->Application Cache.(nginx.exe-sstop 또는nginx.exe-squit) 서버를 멈추면 캐시된 파일img/u-img입니다.다른 그림은 정확하게 불러올 수 없습니다.=========================================== 오프라인 캐시 설명 1. 캐시 상태: 윈도우.applicationCache 대상은 브라우저의 응용 캐시에 대한 프로그래밍 접근 방식입니다.이status 속성은 캐시의 현재 상태를 볼 수 있습니다.applicationCache.status의 값은 다음과 같습니다. 0 === 캐시되지 않음 1 == 유휴 (캐시가 최신 상태) 2 == 검사 중 3 == 다운로드 중 4 == 업데이트 준비 5 == 캐시 만료 시 캐시 사전 업데이트: applicationCache.update()
<br> // <br> setInterval(function(){ applicationCache.update(); },50000);<br>
2. 캐시와 관련된 사건을 소개합니다.1,updateready 이벤트: 새로운 캐시가 있고 업데이트가 끝난 후에 이 이벤트를 촉발합니다.예를 들어 코드:
applicationCache.addEventListener("updateready",function(){ alert(" ");},false);
2,progress 이벤트: 새로운 캐시가 있고 다운로드 중일 때 이 이벤트를 계속 터치합니다.progress의 이벤트 대상은 다음과 같습니다:loaded와 total.loaded는 현재 불러온 파일을 대표합니다. 총 업데이트가 필요한 파일 수입니다
applicationCache.addEventListener("progress",function(){
alert(applicationCache.status); // 3
},false);
3, 기타 이벤트: checking 이벤트: downloading 이벤트 검사 중: updatereadey 이벤트 다운로드 중: 업데이트 완료obsolete 이벤트: 캐시가 만료된cached 이벤트: 비어 있습니다. 캐시가 최신 상태인 error 이벤트: 오류 보고: 업데이트 완료, 업데이트가 필요하지 않습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.