Chrome 使用 .manifest 文件积极缓存 HTML
Chrome aggressively caching HTML with .manifest file
我正在使用 .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.appcache
更改为 app.manifest
.manifest
扩展。
我现在看到(尤其是在 Chrome 中)浏览器没有 re-fetched HTML 源,所以没有看到清单文件已更改,所以没有加载新的 app.manifest
文件,并且无法下载任何源代码。 /index
HTML 文件的缓存 headers(Expires
、ETag
和 Last-Modified
)以及文件内容都已更改, 然而 Chrome 拒绝 re-fetch HTML 除非通过 devtools 禁用缓存。
有谁知道为什么 Chrome 如此积极地保留这个缓存的 HTML?关于如何将其发送到 re-fetch 的任何想法?
您需要更改旧清单文件 (manifest.appcache
)。您的 /index
文件是应用缓存的一部分,并且 Chrome 仍在使用它。
Note: Authors are encouraged to include the main page in the manifest also,
but in practice the page that referenced the manifest is automatically
cached even if it isn't explicitly mentioned.
Chrome 获取旧清单并且没有任何更改,因此它继续。尝试向 manifest.appcache
添加随机评论,然后重试。
确保 /manifest.appcache returns 一个 404,这就是让浏览器明白它现在已经过时的原因,他们将删除所有本地缓存并在下次重新加载页面,所以他们会得到它在新的位置。
我正在使用 .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.appcache
更改为 app.manifest
.manifest
扩展。
我现在看到(尤其是在 Chrome 中)浏览器没有 re-fetched HTML 源,所以没有看到清单文件已更改,所以没有加载新的 app.manifest
文件,并且无法下载任何源代码。 /index
HTML 文件的缓存 headers(Expires
、ETag
和 Last-Modified
)以及文件内容都已更改, 然而 Chrome 拒绝 re-fetch HTML 除非通过 devtools 禁用缓存。
有谁知道为什么 Chrome 如此积极地保留这个缓存的 HTML?关于如何将其发送到 re-fetch 的任何想法?
您需要更改旧清单文件 (manifest.appcache
)。您的 /index
文件是应用缓存的一部分,并且 Chrome 仍在使用它。
Note: Authors are encouraged to include the main page in the manifest also, but in practice the page that referenced the manifest is automatically cached even if it isn't explicitly mentioned.
Chrome 获取旧清单并且没有任何更改,因此它继续。尝试向 manifest.appcache
添加随机评论,然后重试。
确保 /manifest.appcache returns 一个 404,这就是让浏览器明白它现在已经过时的原因,他们将删除所有本地缓存并在下次重新加载页面,所以他们会得到它在新的位置。