2011-04-12 4 views
0

iPad 용 오프라인 웹 응용 프로그램을 빌드하려고하는데 Apache Web Server 2에서 cache.manifest가 올바르게 제공되는지 확인하려고합니다. 일하고있다. Apache 웹 서버의 MIME 유형 설정 파일에 .manifest 확장자에 대한 'AddType'을 추가했습니다.Apache Web Server 2가 설치된 iPad에서 cache.manifest 테스트

액세스 로그를 보면 cache-manifest에 대한 첫 번째 요청이 200 HTTP 응답 코드와 함께 반환되며 그 이후의 요청은 304로 제공되며 'not modified'입니다. 나는 그것이 작동하고 있다는 것을 의미하기 위해 이것을 사용한다. 애셋 (html, 이미지)은 둘 다 조합되어 반환됩니다 (위의 200, 304).

iPad에로드 할 때 페이지가 표시되지만 오프라인 상태가되면 다시로드 할 수 없으므로 인터넷에 연결할 수 없습니다.

Mac의 Apache 웹 서버에서 서비스를 제공하고 있으므로 Mac에서 안정적으로 테스트하는 데 문제가 있습니다. 무엇이 잘못되고 있는지, 또는 어떻게 확인하는지에 대한 아이디어가 있습니까?

답변

0

캐시 매니페스트 테스트는 일반적으로 다소 고통 스럽지만 몇 가지 유용한 기술이 있습니다.

먼저 Mac의 Safari를 사용하여 테스트를 시작하십시오. 오프라인 모드에서 확인하고 싶을 때 Apache를 끄십시오.

Safari에서 활동 모니터를 열고 "취소됨"으로 나열된 자원을 찾습니다. 일반적으로 이는 매니페스트에서 누락 된 자원입니다.

또한 Web Inspector를 사용하여 매니페스트 파일의 응답 유형을 확인하십시오.

대부분의 경우 문제는 애플리케이션에 매니페스트에 지정되지 않은 리소스가 있다는 것입니다. 이로 인해 전체 캐싱 작업이 실패하게됩니다. 불행히도 HTML5 API에 을 나열하는 방법이 없습니다. 리소스가 실패했습니다. 이것은 개발자에게 매우 도움이 될 것입니다.

+0

Safari에서 활동 모니터를 찾을 수 없습니다! 크롬에서 테스트했는데 (응용 프로그램 캐시의 내용을 보여주고 응용 프로그램 이벤트도 기록함) 작동 중입니다. iPad에서 테스트하는 데 문제가 있습니다. 나는 내가 Wifi를 끄고, 이미지가있는 기본 예제를 위해 작업했다고 믿는다. URL을 입력하면 이전에 방문하지 않은 두 번째 페이지에있는 이미지가 표시된다. 비디오를 추가하는 것과 같이 더 복잡한 작업을 수행 할 때 '네트워크에 연결되지 않았습니다'라는 오류가 발생하여 제대로 작동하지 않는다고 믿습니다. – theringostarrs

+0

애플은 과거에는 비디오가 전혀 오프라인으로 작동하지 않는다고 확인했다. 나는 그것을 개인적으로 테스트하지 않았다. –