2012-04-13 118 views
0

我有一个HTML5离线应用程序做以下几件事:Ajax请求缓存AppCached

  1. 显示一个页面
  2. 检查清单(根据规格)
  3. 执行一个Ajax请求(使用原型)检查是否在线。

我有以下问题仅在移动Safari浏览器的iOS(不Safari浏览器,而不是浏览器,而不是Firefox浏览器):

  • OK:运行方案中的在线
  • OK:运行场景脱机(平面模式)
  • OK:停止服务器OK
  • KO:重新启动服务器

进行的Ajax的请求,但挂起,直到超时一样,如果它是离线

解决方法

  • OK:如果我更新清单刷新缓存
  • OK:如果我干净的高速缓存中的iOS偏好
  • KO:如果我把一个参数在AJAX请求(如D = {} timemillis?)
  • KO:AJAX请求是在POST
  • KO:请求具有头ES:缓存控制:无店和附注:无缓存
  • KO:如果我杀MobileSafari和重装
  • KO:清单的网络部分有expliclty的URL

所以我做不知道该怎么做:

  • 我无法清除移动Safari浏览器存储,因为它也清楚的localStorage
  • 我不能“触摸”清单中的服务器上的文件
  • 我不能可以肯定,我的用户总是会在“平面模式”

问:

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

问候

回答

0

多次测试之后,它似乎在iOS上的MobileSafari真的是马车。我的公司决定停止这个概念验证,并等待改进版本或处理所有错误的框架。