我正在使用应用程序缓存功能,一切都很好,但当我最初缓存资源时,我包含了一些需要在线访问的页面。这些页面位于登录屏幕后面,如果用户没有登录,则显示登录屏幕而不是实际页面。因此,当缓存这些页面时,它会与登录屏幕一起缓存。
我想在登录/注销后刷新我的应用程序缓存,以便在用户登录后连接中断时正确反映页面。
我知道只有当文件本身实际发生更改时,才会调用缓存清单进行更新,这带来了一个问题,因为我想不出在调用登录/注销后更新文件的方法。
不幸的是,我不能在不同的页面上使用单独的缓存清单,因为页面是用Mustache模板动态模板化为一个HTML文件的。
登录/注销后,我如何通过程序要求浏览器更新我的应用程序缓存?
您能传递一个带有清单url的id吗?。由于会话id将在注销/登录后更改,浏览器将把清单视为不同的文件,尽管它实际上没有更改。
<html manifest="myManifest.mf?id=<?= session_id() ?>">
...
</html>