0

我有一个 HTML5 离线应用程序执行以下操作:

  1. 显示页面
  2. 检查清单(根据规格)
  3. 执行 ajax 请求(使用 Prototype)来检查是否在线。

我仅在 Mobile Safari iOS(不是 Safari,不是 Chrome,不是 Firefox)上遇到以下问题:

  • OK:在线运行场景
  • OK:离线运行场景(平面模式)
  • OK:停止服务器 OK
  • KO:重启服务器

Ajax-Request 已执行但挂起直到超时,就像它离线一样

解决方法

  • 好的:如果我更新清单,缓存就会刷新
  • 好的:如果我在 iOS 偏好设置中清理缓存
  • KO:如果我在 ajax-request 中放置一个参数(如 ?d={timemillis} )
  • KO:ajax 请求在 POST 中
  • KO:请求具有标题:Cache-Control: no-store 和 Pragma: no-cache
  • KO:如果我杀死 MobileSafari 并重新加载
  • KO:清单的 NETWORK 部分明确了 URL

所以我不知道该怎么办:

  • 我无法清理移动 Safari 存储,因为它也会清除 localStorage
  • 我无法“触摸”服务器上的清单文件
  • 我不能确定我的用户将始终处于“平面模式”

问题:

  • 有没有办法强制缓存更新?(根据规格没有)
  • 有没有办法禁止缓存 Ajax Request ?(清单除外)
  • 是否有任何 jsFiddle 证明它可以在 iOS 上运行?

最好的祝福

4

1 回答 1

0

经过多次测试,iOS 上的 MobileSafari 似乎确实有问题。我的公司决定停止这个概念证明并等待改进版本或处理所有错误的框架。

于 2012-08-03T19:38:00.547 回答