html5 – 强制applicationCache重新加载缓存文件

前端之家收集整理的这篇文章主要介绍了html5 – 强制applicationCache重新加载缓存文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用HTML5 applicationCache来存储一些页面的许多Javascript,CSS,图像等文件。如果我更新这些文件之一,浏览器将不会重新加载它。我已经尝试过以下内容

>在页面加载时调用applicationCache.update()
>侦听applicationCache的updateready事件,并调用swapCache()和window.location.reload()
>为清单文件本身添加时间戳注释,强制浏览器实现清单已更改

当然这不可能这么难。如何说服浏览器重新请求一些缓存文件

解决方法

要强制下载任何新的(或更改)文件,您必须更新清单文件(添加版本号注释或任何更改将执行)。
可能发生的是您收到错误。最常见的是,您可能不会使用正确的MIME类型(文本/缓存清单)来提供清单。您是否正确配置了您的服务器?检查这一点的最简单的方法是在Chrome中打开页面,并在控制台和AppCache下的资源选项卡上查看是否有错误(它会抱怨正在投放的文件不正确,您还可以使用curl -I命令:
curl -I $manifest_file_URL

您的清单文件也可能正在缓存(您可以设置过期标题以使其过期)。还要保持重新加载顺序:您的页面将首先从AppCache加载(如果存在),则浏览器检查清单文件是否已更新。如果是,请下载并放置在新版本的缓存中,但这不会自动更新页面(也不会swapCache()),您将不得不再次刷新页面(至少)。

另请参阅this presentation了解有关该主题的更多信息。

原文链接:https://www.f2er.com/html5/168934.html

猜你在找的HTML5相关文章