【问题标题】:Toggle between Html5 appcache when server if offline and use server when its up在服务器离线时在 Html5 appcache 和服务器启动时使用服务器之间切换
【发布时间】:2014-08-27 11:20:04
【问题描述】:

我在我的 webapplicaiton 中使用 HTML5 appcache。基本思想是在服务器离线时从 appcache 提供内容,一旦服务器启动,应用程序就可以从服务器获取内容。

有没有办法检测服务器是否离线并在 appcache 和服务器之间切换。

【问题讨论】:

  • 这就是 HTML5 appcache 的作用...
  • 否,如果使用了 appcache,除非有刷新,否则内容总是从 appache 中获取。
  • 但是 appcache 确实支持通过对清单文件进行更改来将新内容推送到客户端...

标签: html offline html5-appcache


【解决方案1】:

不完全是。您有两种选择:

  1. 只要您在网站内容发生变化时正确更新缓存清单,当用户“上线”时,就会检测到此更新,并且应用程序会缓存相关内容
  2. 如果您网站的某些区域永远根本不应该被缓存,这就是缓存清单的NETWORK 部分的用途。

从 #2 开始,可以想象,您还可以将网站的仅在线元素与缓存内容结合起来,并根据在线状态提供不同的项目。

(请注意,在检测浏览器是否离线时,不同浏览器供应商的意见会有所不同。为此使用库可能是明智之举,例如offline.js)。

【讨论】:

    【解决方案2】:

    很遗憾,没有。根据 appcache 规范,如果无法联系到服务器,则 applicationcache 将不起作用。

    否则,如果获取清单以其他方式失败(例如,服务器返回另一个 4xx 或 5xx 响应或等效响应,或者 DNS 错误,或者连接超时,或者用户取消下载,或者解析器检查魔术签名时 for manifests 失败),或者如果服务器返回重定向,或者如果资源标记为不是 text/cache-manifest 的 MIME 类型,则运行缓存失败步骤。

    Source

    【讨论】:

      猜你喜欢
      • 2017-02-10
      • 2014-04-02
      • 2017-05-15
      • 2011-12-25
      • 1970-01-01
      • 2022-11-30
      • 2012-03-20
      • 2012-12-12
      • 1970-01-01
      相关资源
      最近更新 更多