2009-05-11 7 views
3

私たちは、ipod touch/iphone用のhtml5オフラインWebアプリケーションを開発しています。私たちはマニフェストとすべて正常に動作しているが、なぜ私たちのアプリは、iPhoneのサファリが閉じられている 'タブ'の後に再び開くことがわからない。例の便宜上iphoneのオフラインキャッシュされたアプリはSafariで閉じた後に消えてしまいますか?

は、ここではどのような作品です:

1)

を無線LANをオフにし、

2)の出口サファリのiPod touchのSafariでオフライン対応のHTMLファイルへのURLを開きます3)動的なWebアプリケーションがウィンドウ内にあるサファリに戻り、リフレッシュします。

4)アプリケーションはオフラインで動作します。

我々はこれを行う場合は、オフラインのアプリ。消える:

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

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

7)ブックマークやホーム画面のアイコン

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

私はちょっと笑いを浮かべていました。あなたはそれがどうなっているのかを知っています。私はここの「投稿」に2秒後に答えを見つけます。しかし、とにかく私の直感は、最新のiphone OSバージョンサファリのURLでDNS検索を試行していて、ローカルに保存されているアプリが既に端末にあることを認識するのではなくエラーになります。

誰でもこれに参加できますか?私のマニフェストや何かこれを修正するために設定できるフラグがありますか?

答えて

2

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

サーバーは、Apache(最も可能性が高い)を実行している場合は、このファイルを編集する必要があります。
/user/local/apache2/conf/mime.types

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

あなたは、Apacheを再起動する必要がありますので、設定が有効になります。シェルから
restart_apacheのようなものになる可能性があります。

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

ドキュメントが返されるMIMEタイプをテストするには、web-sniffer.netを使用します。

0

Safari(したがってiPhone)は、すべてのファイルがマニフェスト、つまりアプリケーションのメインファイルにもリストされているようです。私は、アプリケーションのメインページとしてdefault.aspを使用していましたが、これをマニフェストには含めませんでした。私のアプリはmydomain.com/myapp/から実行されており、ブラウザは "default.asp"を見たことがありません。また、HTML5仕様によれば、メインページはマニフェストにある必要はありませんが、明らかにSafariは少し違って見えます。

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

1

ヒント:マニフェスト内のファイルを変更してマニフェスト内の何かを変更して、それらのファイルをダウンロードする必要があることを示していることを確認します。また、期限切れの設定に基づいて変更をチェックされないかもしれないキャッシュされたファイルに気をつけてください。

関連する問題