我正在制作一个允许用户离线登录的网络应用程序,但前提是他们之前已经在线登录过。我遇到的问题是,为了让用户能够离线登录,我需要缓存我的登录页面。如果我这样做,缓存会在用户登录之前更新,并且因为我的服务器将未经身份验证的用户重定向到登录页面,所有缓存的页面最终都是登录页面的副本。
当我看到另一篇将会话 ID 作为参数传递给清单 url 的帖子时,我有希望,但在我的情况下,它没有帮助,因为它仍然在登录之前下载缓存。考虑到我的用户可能会打开登录页面在线时,但只有在离线时才延迟登录。
我需要一种方法来停止特定页面(例如我的登录页面)中的缓存更新,而无需将我的登录页面从我的清单中取出。我已经尝试了以下代码,但所有页面都被下载了:
window.applicationCache.addEventListener("checking",function(e){
e.stopPropagation();
e.preventDefault();
}, true);