代码之家  ›  专栏  ›  技术社区  ›  user1846348

在chrome中,web应用程序由于清单文件而不显示新内容

  •  0
  • user1846348  · 技术社区  · 10 年前

    我有一个单页动态web应用程序。我创建了清单文件,并在html标记中添加了引用。我现在面临的问题是,只有在chrome中,即使有新内容,页面内的内容仍然保持旧。在firefox上,每当我加载站点时,新内容就会显示出来,但在chrome中,它会显示旧内容。

    我的清单文件

    CACHE MANIFEST
    # 2014-02-19:v0.11
    
    CACHE:
    /assets/kik_icon_256.png
    /assets/touch-icon-iphone-precomposed.png
    /assets/touch-icon-ipad-precomposed.png
    /assets/touch-icon-iphone-retina-precomposed.png
    /assets/touch-icon-ipad-retina-precomposed.png
    /css/style.css  
    /css/modal.css      
    /helper/localization.js
    /js/jquery.js
    /js/base.js
    
    NETWORK:
    *
    

    索引.php

    <html manifest='manifest.appcache'>
    
    1 回复  |  直到 10 年前
        1
  •  1
  •   user229044 Luis Rodriguez    10 年前

    这是清单文件和appcache的明确用途。它的行为符合预期。一旦URL位于appcache中,浏览器将只从appcache中提供该URL。除了寻找新版本的清单外,它不会与网络对话。

    如果您想使用新的内容,您需要更改清单本身的内容,通常通过在顶部碰撞版本字符串, #2014-02-19:v0.11 ,然后重新请求页面。这将触发重新下载 全部的 下次下载时的清单文件。

    旧内容将 在找到新清单的请求上提供,但在后台将下载新清单和新资源 下一个 请求将显示更新的内容。你可以在控制台上看到这一幕;Chrome将显示大量关于清单下载状态的调试信息。

    如果您想绕过这个过程,可以通过转到chrome://appcache-internals/.