【问题标题】:HTML5 Application Cache Not WorkingHTML5 应用程序缓存不起作用
【发布时间】:2010-08-13 06:19:00
【问题描述】:

我一直在用 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 中,不会出现要求缓存文件的通知栏。基本上,文件没有被缓存。

我查看了各种缓存以供离线查看的演示,但无法弄清楚我的代码为什么不起作用。

谁能帮忙?

【问题讨论】:

    标签: caching html offline


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      .manifest 使用 text/cache-manifest

      在 .htaccess 中:

      AddType text/cache-manifest .manifest

      【讨论】:

      • 不知道...也许不是 ;) 但这是这些情况下最常见的错误,因此,大多数情况下这是可行的 ;)
      猜你喜欢
      • 2012-06-24
      • 1970-01-01
      • 2012-05-03
      • 2012-09-24
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      • 2014-05-18
      • 2012-04-18
      相关资源
      最近更新 更多