0

次のことを行う HTML5 オフライン アプリケーションがあります。

  1. ページを表示する
  2. マニフェストを確認する (仕様による)
  3. ajax リクエストを (Prototype を使用して) 実行して、オンラインかどうかを確認します。

Mobile Safari iOS (Safari、Chrome、Firefox 以外) でのみ次の問題が発生します。

  • OK: シナリオをオンラインで実行
  • OK: シナリオをオフラインで実行 (平面モード)
  • OK: サーバーを停止します。
  • KO: サーバーを再起動します

Ajax-Request は実行されますが、オフラインのようにタイムアウトになるまでハングします

回避策

  • OK: マニフェストを更新すると、キャッシュが更新されます
  • OK: iOS の設定でキャッシュを消去すると
  • KO: ajax-request にパラメーターを入れた場合 ( ?d={timemillis} など)
  • KO: ajax リクエストは POST にあります
  • KO: リクエストにはヘッダーがあります: Cache-Control: no-store および Pragma: no-cache
  • KO: MobileSafari を強制終了してリロードすると
  • KO: マニフェストの NETWORK 部分には URL が明示されています

だから私は何をすべきかわからない:

  • localStorage もクリアするため、モバイル Safari ストレージをクリーニングできません
  • サーバー上のマニフェスト ファイルに「アクセス」できません
  • ユーザーが常に「機内モード」になるかどうか確信が持てません

質問:

  • キャッシュの更新を強制する方法はありますか? (仕様によるといいえ)
  • Ajax Request のキャッシュを禁止する方法はありますか? (マニフェスト以外)
  • iOS で動作することを示す jsFiddle はありますか?

よろしくお願いします

4

1 に答える 1

0

多くのテストの結果、iOS の MobileSafari には本当にバグがあるようです。私の会社は、この概念実証を中止し、改善されたバージョンまたはすべてのバグを処理するフレームワークを待つことにしました。

于 2012-08-03T19:38:00.547 に答える