2011-11-18 2 views
2

나는 html5 오프라인 앱을 보유하고 있습니다. cache.manifest 파일을 사용하여 클라이언트 코드를 새로 고칩니다. 매니페스트에 나열된 여러 자바 스크립트 파일이 앱에 있습니다. 매니페스트가 변경되면서 오프라인 앱 업데이트가 실행될 때마다 캐시 다운로드 이벤트가 콘솔 로그에 기록됩니다. 이를 통해 어떤 파일이 다운로드/새로 고침되고 있는지 확인할 수 있습니다. 매니 페스트 파일을 변경할 때마다 매니페스트에 나열된 모든 자바 스크립트 파일의 다운로드 항목을 올바르게 관찰합니다.HTML5 오프라인 캐시 자바 스크립트가 다운로드되었지만 새로 고침되지 않았습니다.

지금까지 그렇게 좋았습니다.

대부분의 자바 스크립트 파일이 새로 고침됩니다. Chrome의 개발자 도구 창 (CTRL + ALT + I)을로드하고 리소스 -> 스크립트를 보면이를 볼 수 있습니다. 변경 사항이 있습니다.

그러나 하나의 파일이 문제를 일으키는 것으로 보입니다. 다운로드중인 것으로 표시되지만 스크립트 내용을 볼 때 새로 고쳐지지 않았습니다. 매니 페스트 오류가 없으며 전체 매니페스트 다운로드 및 캐시 새로 고침 작업이 오류없이 완료됩니다. 그러나이 하나의 파일은 새로 고침을 거부합니다.

누구에게 무슨 일이 일어나고 있는지, 어떻게 고칠 수 있는지 알고 있습니까?

답변

2

이 문제를 해결하는 가장 좋은 방법은 예를 들어 URL 매개 변수를 추가하여 .js 파일의 버전을 변경하는 것입니다.

/Scripts/sample.js?v=1.0.24 당신이의 .js 파일을 변경을 할 때 단순히 버전 번호를 증가 어떤 캐싱 문제를 방지합니다.

0

나는 HTML5 Rocks tutorial에서 이벤트 리스너를 추가하는 코드를 사용했는데 지금은 내가 만들 JS 또는 CSS에 대한 모든 변경 사항을로드합니다.

이제 브라우저는 파일이 변경되었는지 항상 서버에 확인합니다.