登录/注销后强制应用程序缓存更新

时间:2013-06-27 05:10:33

标签: html5 offline-caching cache-manifest application-cache

我正在使用应用程序缓存功能,但一切运行良好,但是当我最初缓存资源时,我会包含一些需要在线访问的页面。这些页面位于登录屏幕后面,如果用户未登录,则显示登录屏幕而不是实际页面。因此,当它们被缓存时,它将通过登录屏幕缓存。

我希望在登录/注销后刷新我的应用缓存,以便在登录后用户连接断开时正确反映页面。

我知道如果文件本身实际发生更改,缓存清单只会被调用以进行更新,这就会出现问题,因为在调用登录/注销后我无法想到更新文件的方法。

不幸的是,我不能在不同的页面上使用单独的缓存清单,因为页面被动态模板化为带有Mustache模板的一个HTML文件。

如何以编程方式请求浏览器在登录/注销后更新我的应用程序缓存?

1 个答案:

答案 0 :(得分:3)

你可以传递一个带有清单网址的ID吗?由于会话ID将在注销/登录后更改,因此浏览器会将清单视为不同的文件,尽管它实际上没有更改。

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