0

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

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

我知道只有在文件本身实际更改时才会调用缓存清单进行更新,这会造成问题,因为我想不出在调用登录/注销后更新文件的方法。

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

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

4

1 回答 1

3

你能传递一个带有清单 url 的 id 吗?由于会话 ID 在注销/登录后会发生变化,因此浏览器会将清单视为不同的文件,尽管它实际上并没有改变。

<html manifest="myManifest.mf?id=<?= session_id() ?>">
  ...
</html>
于 2013-06-27T05:23:26.913 回答