我正在努力研究缓存清单是否可行。
我有一个大约5页的移动网络应用程序。它们都需要以有意义的方式连接工作。
我想优雅地处理用户离线的可能性。
那么,当用户离线时,是否可以使用cache-manifest将网站上的每个页面替换为另一个“仅脱机”页面?
我希望这是cache-manifest的FALLBACK部分所做的,但似乎没有。
答案 0 :(得分:1)
确实有效,你的后备部分应如下所示:
FALLBACK:
/ offline.html
如果您从根目录中的页面引用该字符,那么您键入的任何随机字符串都将导致offline.html被加载,包括不存在的页面,服务器是否在线。
我猜你所看到的问题是任何引用该清单的页面总是缓存。因此,如果您从五个页面中的每个页面引用了清单文件,那么所有这些页面都将位于应用程序缓存中。
可能有效的一种方法(我没有尝试过):专门创建一个新页面以引用清单文件,并在用户首次访问时将其重定向到该文件。您可以在页面上放置一些内容,例如“初始化应用程序”。验证应用程序缓存是否已加载JavaScript,然后重定向回到它们来自的页面。