Chrome主动缓存带有.manifest文件的HTML
我使用Chrome主动缓存带有.manifest文件的HTML,html,google-chrome,caching,cache-manifest,Html,Google Chrome,Caching,Cache Manifest,我使用.manifest文件告诉浏览器要缓存哪些资源。基本上包括以下内容: CACHE MANIFEST # This manifest was generated by grunt-manifest HTML5 Cache Manifest Generator # Time: Fri Jul 24 2015 09:57:13 GMT+0100 (BST) CACHE: app.min.js app.min.css js/libs/require-min.js img/leaf.png NE
.manifest
文件告诉浏览器要缓存哪些资源。基本上包括以下内容:
CACHE MANIFEST
# This manifest was generated by grunt-manifest HTML5 Cache Manifest Generator
# Time: Fri Jul 24 2015 09:57:13 GMT+0100 (BST)
CACHE:
app.min.js
app.min.css
js/libs/require-min.js
img/leaf.png
NETWORK:
*
此文件在HTML中链接如下:
<!DOCTYPE html>
<html manifest="/app.manifest">
<head>
<style type="text/css" media="all">
....
....
根据Safari用户的报告,他们的UI不尊重缓存文件,在读取Safari要求清单文件具有.manifest
扩展名后,我将文件名从manifest.appcache
更改为app.manifest
我现在看到(特别是在Chrome中)浏览器没有重新获取HTML源代码,因此没有看到清单文件已经更改,也没有加载新的app.manifest
文件,并且无法下载任何源代码。/index
HTML文件的缓存头(Expires
、ETag
和Last Modified
)和文件内容都已更改,但Chrome拒绝重新获取HTML,除非通过devtools禁用缓存
有人知道为什么Chrome会如此积极地保留这个缓存的HTML吗?关于如何让它重新获取,您有什么想法吗?您需要更改旧清单文件(
manifest.appcache
)。您的/index
文件是appcache的一部分,Chrome仍在使用它
从:
注意:鼓励作者将主页也包括在清单中,
但在实践中,引用清单的页面是自动生成的
缓存,即使没有明确提及
Chrome获得了旧的清单,并且没有任何变化,所以它继续运行。尝试向清单.appcache添加随机注释,然后重试。您需要更改旧清单文件(
manifest.appcache
)。您的/index
文件是appcache的一部分,Chrome仍在使用它
从:
注意:鼓励作者将主页也包括在清单中,
但在实践中,引用清单的页面是自动生成的
缓存,即使没有明确提及
Chrome获得了旧的清单,并且没有任何变化,所以它继续运行。尝试向manifest.appcache添加一条随机注释,然后重试。确保/manifest.appcache返回404,这使浏览器了解它现在已经过时,他们将删除所有本地缓存并在下次重新加载页面,以便在新位置获得它 确保/manifest.appcache返回404,这使浏览器明白它现在已经过时,他们将删除所有本地缓存并在下次重新加载页面,以便在新位置获得它 您是否更改了旧的清单文件(manifest.appcache)?我承认这是一个很长的问题,但是你的
/index
文件是appcache的一部分,chrome正在使用它,chrome得到了旧的清单,没有任何更改,所以它继续运行。请尝试向manifest.appcache添加随机注释,然后重试。感谢@anddoutoi,这是理解/index文件是缓存的一部分而不是缓存的起点的关键。我在原始缓存清单位置添加了404响应,这似乎会导致浏览器在后续刷新时重新加载。自我提醒:永远不要更改缓存清单的文件名!没问题。总是乐于助人。我添加了我的评论作为答案,这样您可以将问题标记为已回答,并给我打分;)您是否更改了旧的清单文件(manifest.appcache)?我承认这是一个很长的问题,但是你的/index
文件是appcache的一部分,chrome正在使用它,chrome得到了旧的清单,没有任何更改,所以它继续运行。请尝试向manifest.appcache添加随机注释,然后重试。感谢@anddoutoi,这是理解/index文件是缓存的一部分而不是缓存的起点的关键。我在原始缓存清单位置添加了404响应,这似乎会导致浏览器在后续刷新时重新加载。自我提醒:永远不要更改缓存清单的文件名!没问题。总是乐于助人。我添加了我的评论作为答案,这样您可以将问题标记为已回答,并给我打分;)