3

iPod touch/iphone 用の html5 オフライン Web アプリケーションを開発中です。マニフェストとすべてが正しく機能していますが、iphone サファリの「タブ」を閉じた後にアプリが再び開かない理由がわかりません。

たとえば、次のように機能します。

1) iPod touch の Safari で、オフライン対応の html ファイルへの URL を開きます

2) サファリを終了し、Wi-Fi をオフにします

3) 動的 Web アプリケーションがウィンドウ内にあるサファリに戻り、更新を押します。

4) アプリはオフラインで動作します!

ただし、これを行うと、オフライン アプリが消えます。

5) アプリの URL (またはホーム画面のアイコン) にブックマークを追加する

6) サファリの「タブ」またはウィンドウを閉じる

7) ブックマークまたはホーム画面のアイコンを開く

8) エラーメッセージ: 「ページを開けません: インターネットに接続されていないため、Safari はページを開くことができません。」

私はこの問題について少しググってみましたが、どうなるか分かります。ここで「投稿」を押してから 2 秒後に答えが見つかります。とにかく、現在の最新の iPhone OS バージョンの safari が試しているというのが私の直感です。ローカルに保存されたアプリがデバイスに既にあることに気付くのではなく、URL の dns ルックアップとエラーが発生します。

誰かがこれに遭遇しますか?マニフェストまたはこれを修正するために設定できるフラグはありますか?

4

3 に答える 3

2

サーバーが適切に構成されていない可能性があります。Apple のドキュメントでは、これが明確にされていません。

サーバーが Apache を実行している場合 (ほとんどの場合)、このファイルを編集する必要があります。
/user/local/apache2/conf/mime.types

この行を最後に追加します。
text/cache-manifest manifest

設定を有効にするには、Apache を再起動する必要があります。
restart_apacheシェルのようなものかもしれません。

ここで何が起こっているかというと、サーバーは適切なコンテンツ タイプを設定してキャッシュ ファイルを返す必要があるということです。これを行わないと、ファイルはおそらく「テキスト」として返されます。適切に設定すると、「キャッシュ マニフェスト」のタイプで返されます。

ドキュメントが返される MIME タイプをテストするには、web-sniffer.netを使用します。マニフェスト ファイルの URL を入力します。結果が Content-Type に表示されます。

于 2010-02-14T19:32:49.377 に答える
1

ヒント: マニフェスト内のファイルに変更を加えるたびに、それらのファイルをダウンロードする必要があることを示すためにマニフェスト自体の何かを変更していることを確認してください。また、有効期限の設定に基づいて変更がチェックされない可能性があるキャッシュ ファイルに注意してください。

于 2012-02-01T22:48:31.180 に答える
0

Safari (および iPhone) は、すべてのファイルがマニフェストにリストされていることを期待しているようです。アプリのメイン ファイルも同様です。アプリのメイン ページとして default.asp を使用していましたが、これをマニフェストに含めていませんでした。私のアプリは mydomain.com/myapp/ から実行されたため、ブラウザは「default.asp」を認識しませんでした。また、HTML5 仕様によれば、メイン ページはマニフェストにある必要はありませんが、どうやら Safari はそれを少し異なる方法で認識します。

私の解決策は、default.asp を使用してアプリ app.asp を呼び出し、マニフェストに「app.asp」を追加することを避けることでした。お役に立てれば。

于 2010-12-05T11:10:47.727 に答える