2013-11-28 3 views
1

다음은 내 매니페스트 파일입니다. 나는HTML 5 응용 프로그램 캐시 파일 매니페스트 명령을 캐시하지 않습니까?

<html manifest="/cache.manifest"> 

캐시를 다음 한 html 태그에있는 파일의 index.php 내부

CACHE MANIFEST 
#r3 

NETWORK: 
* 

CACHE: 
/js/jquery.maskedinput.js 
/js/less-1.5.0.min.js 
/css/styles.less 
/css/images/ui-bg_inset-hard_100_fcfdfd_1x100.png 
/css/images/ui-bg_glass_45_0078ae_1x400.png 
/css/images/ui-icons_e0fdff_256x240.png 
/css/images/ui-icons_0078ae_256x240.png 
/css/images/ui-icons_056b93_256x240.png 
/css/images/ui-bg_gloss-wave_75_2191c0_500x100.png 
/images/logo.png 
http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js 
http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js 

FALLBACK: 
//offline.php 

실제로 작동하지만, 너무 잘 작동합니다. 파일에서 index.php가 캐시되기를 원한다는 사실을 말하지는 않았지만 기본적으로 호출 된 파일을 캐싱한다고 가정하는 것으로 보입니다.

내 프로그램의 경우 ' 이것을하고 싶지 않습니다. 모바일 장치의 대역폭을 돕기 위해 다른 리소스를 캐싱하기 만하면 인터넷 연결이없는 경우 대체 페이지가 나타납니다.

지금은 항상 index.php의 캐시 버전을 사용하므로 캐시 된 이후 내 페이지 방문자는 offline.php를 볼 수 없습니다.

파일에서 매니페스트가 선언 된 파일을 캐시하려고한다고 가정하지 못하게하려면 어떻게해야합니까? (또는 내 예제에서는 index.php).

답변

0

꽤 잘 작동하는 해결책을 찾았습니다 (My HTML5 Application Cache Manifest is caching everything), 여기에 나열되었습니다.

iFrame 사용에 대해 이야기합니다. html 캐시 명령을 iframe에 넣고 index.php 페이지에서 iframe을 숨김으로써 다른 모든 파일을 캐싱 할 수 있으며 대체 파일을 올바르게 만들 수도 있습니다. 일종의 해킹이지만 일을 끝내게됩니다 :).

1

앱 흐름을 재고해야합니다. 방문 페이지가로드되지 않으면 브라우저가 앱의 오프라인 버전을 처음부터 어떻게 시작합니까? (오프라인 시스템의 경우). 오프라인 상태가되면 오프라인 상태 인 페이지를 가리켜 야합니다. 페이지가 오프라인 상태가 아닌 경우 브라우저는 매니페스트 파일을 읽지 않으므로 매니페스트의 대체 옵션에 도달하지 않습니다.

그리고 보조 참고 사항 : 확장자는 out of date입니다. 서버의 적절한 헤더와 함께 .appcache 확장명을 사용하십시오.

+0

파일 확장명을 업데이트 해 주셔서 감사합니다. 오래된 파일 이름입니다. –