我正在开发一个Web应用程序,我正在尝试使用HTML5应用程序缓存。
我在apache tomcat 7上运行应用程序。当服务器运行时,它没关系;谷歌浏览器中的文件下载,我得到缓存或更新就绪事件。但是一旦我关闭服务器并刷新页面,我就会收到错误清单提取失败(-1)。
如何克服此错误及其原因?
我的清单文件如下(sample.manifest):
CACHE MANIFEST
# version 4
CACHE:
css/styles.css
js/script.js
js/jquery-latest.js
js/jquery.validate.js
img/blue-line.png
img/main-img.png
img/logo.png
img/green-li.png
img/gline2.png
img/gline3.png
img/gline4.png
img/gline5.png
img/diversity-img.jpg
img/facebook32.png
img/mail40x32.png
img/main-img-298.png
img/ppl-img.jpg
img/twitter32.png
leavevbc.html
diversity.html
NETWORK:
*
我添加了正确的MIME类型,但我仍然遇到了问题。
答案 0 :(得分:14)
如果无法访问服务器,则清单加载失败错误正是您所期望的。清单无法加载。这有点令人困惑,这被报告为错误 - 但这就是标准所说的。您所要做的就是忽略错误,您应该有一个离线缓存的webapp。
答案 1 :(得分:0)
在Chrome中,检查所有应用缓存的项目。您可能会惊讶地发现缓存文件中的内容不是您放入其中的内容。我遇到了这种情况。我有一个包含我的FALLBACK:offline.html页面的javascript文件。 Webkit缓存加载器在其加载的内容类型不符合预期时会出现问题。对我来说这是错误的,但从好的方面来说,它确实揭示了这个问题。在我的情况下,它查看我的js文件,并在它看到文件的顶部时卷曲。
如果在线时必须提取资源,请在NETWORK:部分中列出。
要解决当前情况,请执行以下操作: