我正在尝试使用 html5 的离线缓存。但问题是它正在缓存所有 html 文件,而不是我在缓存清单文件中提到的那些:
例如:我有 4 个 html 文件:index.html、test.html、sample.html、fallback.html 并且我有 sample.appcache清单文件包含:
CACHE MANIFEST
index.html
sample.html
NETWORK:
test.html
FALLBACK:
/ /fallback.html
我没有在任何 html 文件中设置 manifest="sample.appcache" 属性。我正在使用 JBoss 5 AS 并在 web.xml 中添加了 mime 映射,如下所示:
<mime-mapping>
<extension>appcache</extension>
<mime-type>text/cache-manifest</mime-type>
</mime-mapping>
因此,只有 index.html 和 sample.html 需要离线缓存,但 test.html 如果在服务器启动时较早被命中,也会被缓存。当服务器停止而不是这个 test.html 时,fallback.html 没有被调用
这个设置有什么问题?
我不明白的第二件事是在 IE(v9) 和 Firefox(v19) 上我不必设置 mime-mappings 但要让应用程序在 chrome(v26) 和 safari(v5.1.7) 上工作,这个设置确实是强制性的。