Html 防止特定缓存页触发应用程序缓存更新
我正在制作一个网络应用程序,允许用户离线登录,但前提是他们以前在线登录过。我遇到的问题是,为了让用户能够脱机登录,我需要缓存我的登录页面。如果我这样做,缓存会在用户登录之前更新,因为我的服务器会将未经身份验证的用户重定向到登录页面,所以所有缓存页面最终都是登录页面的副本 当我看到另一篇文章将会话id作为参数传递给清单url时,我有了希望,但在我的情况下,它没有帮助,因为它仍然在登录之前下载缓存。考虑到我的用户可能会在联机时打开登录页,但仅在脱机时延迟登录一次 我需要一种方法来停止特定页面(如我的登录页面)中的缓存更新,而不从清单中删除我的登录页面。我尝试了以下代码,但仍下载了所有页面:Html 防止特定缓存页触发应用程序缓存更新,html,web-applications,offlineapps,offline-browsing,Html,Web Applications,Offlineapps,Offline Browsing,我正在制作一个网络应用程序,允许用户离线登录,但前提是他们以前在线登录过。我遇到的问题是,为了让用户能够脱机登录,我需要缓存我的登录页面。如果我这样做,缓存会在用户登录之前更新,因为我的服务器会将未经身份验证的用户重定向到登录页面,所以所有缓存页面最终都是登录页面的副本 当我看到另一篇文章将会话id作为参数传递给清单url时,我有了希望,但在我的情况下,它没有帮助,因为它仍然在登录之前下载缓存。考虑到我的用户可能会在联机时打开登录页,但仅在脱机时延迟登录一次 我需要一种方法来停止特定页面(如我的
window.applicationCache.addEventListener("checking",function(e){
e.stopPropagation();
e.preventDefault();
}, true);
也许能找到一个方法来做我想做的事。如果有其他人有类似的问题,这里是我的解决方案
- 创建login\u offline.html或捕获请求服务器端并将*/login\u offline.html重定向到login.html
- 将清单中的*/login.html替换为*/login\u offline.html,并删除*/login.html中的清单声明。在每个页面中保留仅在登录后可用的清单声明
- 如果清单中还没有回退部分,则将其添加到清单中,并将其放入: 回退: sign.htm sign-offline.htm