我一直在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中,不会出现要求缓存文件的通知栏。基本上,文件没有被缓存。
我已经查看过为离线查看进行缓存的各种演示,但无法理解为什么我的代码无效。
有人可以帮忙吗?
答案 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