【问题标题】:HTML5 Offline Storage Functionality not workingHTML5 离线存储功能不起作用
【发布时间】:2011-07-15 07:40:35
【问题描述】:

我创建了一个包含图像、文本和 CSS 的网页。将其部署到本地 IIS 服务器中。在其中设置 MIME 类型“.manifest”。

在 FireFox 中检查页面时,它询问我希望允许离线存储的天气。即使我允许,FF 也只显示 0 个字节存储到缓存中。

如果有人有解决方案,请回复。

【问题讨论】:

  • .manifest 不是 MIME 类型,它是文件扩展名。您为 .manifest 文件扩展名设置的 MIME 类型是什么,清单文件的内容是什么?
  • 是的,我的意思是我已将 .manifest 文件的 mime 类型设置为 text/cache-manifest。以下是清单文件的详细信息: CACHE MANIFEST CACHE: index.html images/arrow.png css/style.css js/test.js

标签: html


【解决方案1】:

调试您的缓存清单文件。如果有任何错误,您的 appcache 将无法工作。

Debugging HTML 5 Offline Application Cache

更新 检查缓存清单时要采取的其他步骤:

使用上面链接的调试代码检查用户代理是否确实检测到某些内容已更改,并下载更新,并相应地进行缓存交换。如果这没有发生,请编辑您的缓存文件并重新保存它(确保在执行此操作时更改其字节签名,否则不会检测到更改)。您肯定会在控制台中看到活动 - 如果没有,则缓存清单有问题。

仔细检查缓存清单内容类型是否正确。听起来它是在 IIS 端设置的,但可以肯定的是。您可以通过检查 Firebug(或类似)中的缓存清单标头来执行此操作,或者通过在 shell 中发出类似这样的命令:

curl -I http://yourdomain/path/to/manifest_file.manifest

如果一切正常,您应该会看到类似下面的内容:

HTTP/1.1 200 OK
...
Content-Length: 1039
Content-Type: text/cache-manifest

【讨论】:

  • 我对 FF 不熟悉(我在 WebKit 中调试我的离线内容),但您确定没有存储任何内容吗?您从哪里获得“存储到缓存中的 0 字节”信息?您是否尝试过让 FF 离线并查看页面是否仍然呈现?
  • 可以看到存储的缓存---> FF ->TOOLS ->OPTIONS->ADVANCED TAG ->NETWORK TAB
  • 是的,我明白了。在这种情况下,您的缓存清单存在问题。我已经更新了我的答案。
猜你喜欢
  • 2021-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 2012-03-06
  • 2011-01-09
  • 1970-01-01
  • 2011-11-30
相关资源
最近更新 更多