27

HTML5マニフェストを使用して、iOSでいくつかのWebアプリをオフラインで動作させるために多くの作業を行ってきました。私は他の誰もが抱えている典型的な問題に遭遇し、それらを修正しました。iPhone4のデスクトップにWebアプリを保存する場合を除いて、すべてが正常に機能しているようです。

これを行って機内モードを有効にすると、ホーム画面からアプリにアクセスしようとすると、「インターネットに接続されていないため、アプリ名を開くことができませんでした」というアラートが表示されます。Safariブラウザーを介したアプリへのアクセスは、オフラインでも正常に機能します。

これが私の側のエラーであるか、または回避策のわずかな可能性でさえあるかを誰かが知っている場合は、教えてください。

新しいFinancialTimesWebアプリ(広範なlocalStorageサポートで非常によく行われている)をダウンロードしても、ホーム画面からオフラインでアクセスするとエラーが発生します。

技術仕様: iOS4.3.3でiPhone4を実行する(ただし、4.3.2でも問題が発生しました)

4

3 に答える 3

16

コメント(特にRowanのもの)を読んだ後、私はさらにテストを実行し、答えを見つけました:

いいえ、Appleはホーム画面に保存されたWebアプリのHTML5オフライン機能を無効にしませんでした。ほとんどの場合、機能します。動作しなくなるバグがあります。マニフェストの設定とは何の関係もないようです(ある時点で悪いマニフェストまたは不完全なマニフェストをダウンロードした可能性があります)。それがどれほど普及しているかはわかりませんが、修正はモバイルSafariキャッシュをクリアすることです。

手順は次のとおりです。

  1. Webアプリを閉じます(バックグラウンドで動かなくなっていないことを確認してください)。
  2. モバイルSafariキャッシュをクリア:[設定]>[Safari]>[キャッシュをクリア]
  3. アプリを再度開きました(キャッシュ用)。
  4. Webアプリをもう一度閉じます(バックグラウンドで動かなくなっていないことを確認してください)。
  5. 有効な「機内モード」:[設定]>[機内モード]
  6. アプリを再度開きました。

これでオフラインで動作するはずです。そうでない場合は、おそらくアプリの別のマニフェストの問題です。ブラウザのキャッシュに関する奇妙なバグのように見えます-または、おそらくキャッシュが完全にいっぱいでしたか?誰が知っていますが、それが答えです。みんなありがとう。

于 2011-06-08T22:19:01.823 に答える
2

これをHTMLに追加します。

https://web.archive.org/web/20170201180939/https://jonathanstark.com/blog/debugging-html-5-offline-application-cache?filename=2009/09/27/debugging-html-5-オフライン-アプリケーション-キャッシュ/

マニフェストファイルを作成して他の人のマニフェストと比較したにもかかわらず、このJavaScriptデバッグスクリプトは、他の方法では見つけられなかった手がかりを与えてくれました。マニフェストに構文エラーがあったようです...簡単に言うと、すべてを削除して、各ファイル/画像へのパスを1つずつ追加する必要がありました。最終結果は同じでしたが、うまくいきました...なんて奇妙な!!! 空白/コメントはファイルの構文に影響しますか?

于 2011-07-25T12:39:22.943 に答える
2

iOSは、オフライン時の負荷の問題に非常に敏感なようです。

作業中のページをオフラインにすると、「開くことができませんでした」というエラーが表示されました。問題は、ページがAppCacheを持たないサイトを指すiframeを作成したことであることが判明しました。これらのiframeを削除すると、問題が修正されました。

私の場合window.navigator.standaloneは、iOSホームスクリーンアプリで実行しているかどうかを示すを使用して処理しました。コードは次のようになりました。

if (!navigator.standalone) insertFrames();
于 2016-10-19T05:05:07.030 に答える