html5清单提取失败(-1)

时间:2011-07-25 08:48:25

标签: javascript html5

我正在开发一个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类型,但我仍然遇到了问题。

2 个答案:

答案 0 :(得分:14)

如果无法访问服务器,则清单加载失败错误正是您所期望的。清单无法加载。这有点令人困惑,这被报告为错误 - 但这就是标准所说的。您所要做的就是忽略错误,您应该有一个离线缓存的webapp。

答案 1 :(得分:0)

在Chrome中,检查所有应用缓存的项目。您可能会惊讶地发现缓存文件中的内容不是您放入其中的内容。我遇到了这种情况。我有一个包含我的FALLBACK:offline.html页面的javascript文件。 Webkit缓存加载器在其加载的内容类型不符合预期时会出现问题。对我来说这是错误的,但从好的方面来说,它确实揭示了这个问题。在我的情况下,它查看我的js文件,并在它看到文件的顶部时卷曲。

如果在线时必须提取资源,请在NETWORK:部分中列出。

要解决当前情况,请执行以下操作:

  • 清除浏览器缓存
  • 更改清单文件顶部的注释,以便下载新副本
  • 使用开发人员工具启动Chrome
  • 在线下载网页
  • 再次检查您的chrome应用程序缓存文件
  • 离线并浏览器刷新

http://www.html5rocks.com/en/tutorials/appcache/beginner/