2013-06-27 1 views
0

응용 프로그램 캐시 기능을 사용하고 있지만 모두 정상적으로 작동하지만 처음에 자원을 캐시 할 때 온라인에 액세스 할 수 있어야하는 몇 페이지가 포함됩니다. 이러한 페이지는 로그인 화면 뒤에 있으며 사용자가 로그인하지 않은 경우 실제 페이지 대신 로그인 화면을 표시합니다. 따라서 캐시 된 경우 로그인 화면과 함께 캐시됩니다. 사용자의 연결이 로그인 후에 떨어지면 제대로 페이지를 반영하도록.로그인/아웃 후 응용 프로그램 캐시 업데이트 강제 적용

내가 로그인 후 내 응용 프로그램 캐시를 새로 고칠 인/아웃 I 매니페스트 캐시는 업데이트를 위해 호출되는 것을 알고있는 경우 파일 자체가 실제로 변경되며 로그인/로그 아웃 후 파일을 업데이트하는 방법을 생각할 수 없으므로 문제가 발생합니다.

불행히도 다른 페이지에서 별도의 캐시 매니페스트를 사용할 수 없습니다. 페이지가 콧수염 템플릿을 사용하여 하나의 HTML 파일에 동적으로 템플리트되기 때문입니다.

로그인/로그 아웃 후에 프로그래밍 방식으로 브라우저에 응용 프로그램 캐시를 업데이트하도록 요청할 수 있습니까?

+0

http://stackoverflow.com/a/2181544/982311이 방법을 사용할 수 있습니까? – KyorCode

답변

2

manifest URL과 함께 ID를 전달할 수 있습니까? 세션 ID는 로그 아웃/로그인 후에 바뀌기 때문에 브라우저는 매니 페스트가 다른 파일로 보일 것입니다.

<html manifest="myManifest.mf?id=<?= session_id() ?>"> 
    ... 
</html> 
+0

좋은 물건! 내 템플릿 데이터에는 ID (예 : myManifest.mf? LoggedIn = True) 또는 조건부 Mustache 문으로 전달하여 별도의 매니페스트 파일을로드하는 데 사용할 수있는 LoggedIn 속성이 있습니다 (새로 고침을 얻고 유연성을 더해줍니다) 캐싱 여부/로그인 여부에 따라 캐싱하지 않음). 감사! – joshschreuder

+0

다행이었습니다! –

관련 문제