【问题标题】:How to ignore files not required in offline mode for cache manifest如何忽略缓存清单在离线模式下不需要的文件
【发布时间】:2015-01-14 13:17:55
【问题描述】:

我有一个需要在离线模式下工作的应用程序。但是,只有部分应用程序需要在离线模式下工作。

我很好地处理来自用户的输入和操作 - 我让用户知道哪些操作在离线模式下不可用。

我的问题在于缓存清单的条目

假设我的 index.html 文件看起来像这样 -

<html manifest="/cache.manifest">
    <body>
        <script src="FirstController.js"></script>
        <script src="SecondController.js"></script>
    </body>
</html>

现在,我只需要FirstController.js 文件,因为在离线模式下只需要它处理的页面。所以我在缓存清单中指定它。

这行得通。但是,我注意到浏览器仍在尝试加载SecondController.js 文件。

因此,我的应用程序无法在 IE11 中加载。在 Google Chrome 中,我在控制台中有错误。 (这是离线模式)。

如果应用程序离线,我如何告诉浏览器忽略SecondController.js

【问题讨论】:

    标签: html cache-manifest


    【解决方案1】:

    听起来您需要编辑缓存清单文件,以便将相关文件列为在线资源明确。您可以使用清单文件中的 NETWORK 部分标题来执行此操作:

    CACHE MANIFEST
    
    CACHE:
    # All your offline resources, e.g.:
    /FirstController.js
    
    NETWORK:
    /SecondController.js
    

    您可以在Dive Into HTML5 site 的离线章节中阅读有关所有这些内容的更多信息。

    【讨论】:

    • 我已将 NETWORK 部分设置为 * - 根据 DIH 站点,浏览器会引发 Chrome 会出现的错误。但是应用程序没有加载 - 其余文件应该允许应用程序正常运行。
    • DIH 在白名单NETWORK 部分(即星号):“这是一种奇特的说法,任何不在 appcache 中的东西仍然可以从原始网址下载,只要你有互联网连接。”
    猜你喜欢
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 2015-02-18
    • 2015-12-03
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 2011-11-30
    相关资源
    最近更新 更多