HTML5应用程序缓存不起作用

时间:2010-08-13 06:19:00

标签: caching html5 offline

我一直在HTML5中编写一个简单的文本编辑器,它应该可以脱机工作。但是,我不能让脱机应用程序缓存工作,我无法理解为什么不工作。

我的清单文件是这样的:

CACHE MANIFEST
application.html
options.html
...

它被调用如下:

<!DOCTYPE html> 
<html manifest="cache.manifest"> 
<head>
...

我正在使用Google App Engine托管网络应用程序。

我已经将网页放在W3C HTML验证器(http://validator.w3.org/check?uri=https%3A%2F%2Fwrite-space.appspot.com%2F)中了,结果很好。

我在Chrome和Firefox中测试过它。在Chrome中,没有任何内容添加到缓存存储中(window.applicationCache.status返回0)。在Firefox中,不会出现要求缓存文件的通知栏。基本上,文件没有被缓存。

我已经查看过为离线查看进行缓存的各种演示,但无法理解为什么我的代码无效。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:9)

要在GAE中为.manifest文件添加MIME类型text/cache-manifest,请在app.yaml中使用此文件:

- url: /static/(.*)\.manifest
  static_files: static/\1.manifest
  upload: static/(.*)\.manifest
  mime_type: text/cache-manifest

这将使用正确的MIME类型为文件夹.manifest中的所有static个文件提供服务。

答案 1 :(得分:6)

您必须向.manifest添加MIME类型:

.manifest使用text/cache-manifest

在.htaccess中:

AddType text/cache-manifest .manifest