2012-04-13 121 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真的是馬車。我的公司決定停止這個概念驗證,並等待改進版本或處理所有錯誤的框架。