2015-01-14 7 views
0

오프라인 모드로 작업해야하는 응용 프로그램이 있습니다. 그러나 응용 프로그램의 일부만 오프라인 모드에서 작동해야합니다.캐시 매니페스트의 오프라인 모드에서 필요하지 않은 파일을 무시하는 방법

사용자의 입력과 동작을 잘 처리하므로 오프라인 모드에서는 사용할 수없는 동작을 사용자에게 알려줍니다.

내 문제는

우리가 내 index.html 파일은 다음과 같습니다 가정 해 봅시다 매니페스트 캐시의 항목이있다 - 나는 단지 FirstController.js 파일을 원하는 지금

<html manifest="/cache.manifest"> 
    <body> 
     <script src="FirstController.js"></script> 
     <script src="SecondController.js"></script> 
    </body> 
</html> 

만 페이지 그 때문에 거래는 오프라인 모드에서 필요합니다. 그래서 캐시 매니페스트에 지정합니다.

이것은 작동합니다. 그러나 브라우저에서 여전히 SecondController.js 파일을로드하려고합니다.

결과적으로 내 응용 프로그램은 IE11에서로드되지 않습니다. Google 크롬에서 콘솔에 오류가 있습니다. (이것은 오프라인 모드 임).

응용 프로그램이 오프라인 인 경우 브라우저가 SecondController.js을 무시하도록하려면 어떻게합니까?

답변

0

관련 파일이 명시 적으로 온라인 리소스로 나열되도록 캐시 매니페스트 파일을 편집해야하는 것처럼 들립니다. 당신은 당신의 매니페스트 파일에 NETWORK 섹션 헤더와 함께이 작업을 수행 :

CACHE MANIFEST 

CACHE: 
# All your offline resources, e.g.: 
/FirstController.js 

NETWORK: 
/SecondController.js 

당신은 Dive Into HTML5 site의 오프라인 장에서이 모든 것들에 대한 자세한 내용을보실 수 있습니다.

+0

네트워크 섹션을'*'로 설정했습니다. DIH 사이트에 따르면 브라우저가 Chrome에서 발생하는 오류를 발생시킵니다. 그러나 응용 프로그램이로드되지 않습니다 - 나머지 파일은 응용 프로그램이 제대로 작동하도록 허용해야합니다. – callmekatootie

+0

화이트리스트의'NETWORK' 섹션 (즉, 별표)에있는 DIH : _ "인터넷에 연결되어있는 한 appcache에없는 항목은 여전히 ​​원래 웹 주소에서 다운로드 할 수 있다는 멋진 말입니다. "_ – Ben