【问题标题】:Cache-manifest: while offline, replace all pages with a single "You are offline" page?缓存清单:离线时,用一个“您离线”页面替换所有页面?
【发布时间】:2011-11-07 23:04:24
【问题描述】:

我正在尝试确定缓存清单是否可行。

我有一个大约有 5 个页面的移动网络应用程序。它们都需要连接才能以有意义的方式工作。

我想优雅地处理用户离线的可能性。

那么,当用户离线时,是否可以使用缓存清单将站点上的每个页面替换为另一个“仅离线”页面?

我希望这是缓存清单的 FALLBACK 部分所做的,但似乎不是。

【问题讨论】:

    标签: html caching offline cache-control browser-cache


    【解决方案1】:

    确实有效,您的后备部分应如下所示:

    FALLBACK:
    / offline.html
    

    如果您从根目录中的页面引用它,那么您输入的任何随机字符串都会导致加载offline.html,包括不存在的页面,无论服务器是否在线。

    我猜你看到的问题是任何引用清单的页面都总是被缓存。因此,如果您从五个页面中的每个页面中都引用了清单文件,那么所有这些页面都将位于应用程序缓存中。

    一种可行的方法(我没有尝试过):创建一个新页面,专门用于引用清单文件,并在用户第一次访问时将其重定向到该页面。您可以在页面上放置一些内容,例如“初始化应用程序”。验证应用程序缓存是否已加载 JavaScript,然后重定向回它们来自的页面。

    【讨论】:

    • "任何引用清单的页面总是被缓存"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多