我的文档根目录中有一个index.php 文件。它产生以此开头的输出:
<!DOCTYPE html>
<html manifest="manifest.appcache">
manifest.appcache 告诉浏览器缓存它以供离线使用。再次,相关部分:
CACHE MANIFEST
#version 8-25-2011
CACHE:
#internal HTML documents
#this tells the browser to cache the HTML it retrieves from http://example.com/
/
NETWORK:
*
在此设置下,离线访问工作正常,但更新无法像我在 Firefox 中预期的那样工作。
在Chrome和Safari中,当我更新index.php文件,然后更改cache.manifest文件中的注释时,浏览器将获取新的index.php输出并在缓存中使用它。
然而,在 Firefox 中,它似乎并不关心我是否更新了 manifest.appcache 文件。我怀疑如果我等待足够长的时间,它就会更新,但我尝试过等待几个小时。
如何找到并消除缓存问题?
您使用 index.php 文件发送哪些 HTTP 缓存标头?如果您还没有设置诸如Cache-control:
and Expires:
然后 Firefox 可以从其常规缓存中刷新页面的应用程序缓存版本,而不是再次从服务器请求它。
按问题的海报编辑:
对于任何想知道到底花了什么的人,以下是我根据此答案和仔细阅读的内容放入 .htaccess 文件中的内容http://www.diveintohtml5.info/offline.html http://www.diveintohtml5.info/offline.html:
<Files *.appcache>
ExpiresActive On
ExpiresDefault "access"
</Files>
希望对下一个人有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)