2

ASP.NET を使用して iPhone Web アプリケーションを構築しようとしています。ページは、訪問者ごとに 1 回動的にレンダリングされます。この時点で、ページをブックマークすることができ、その訪問者のために再び変更されることはありません。このため、ネットワーク接続が利用できない場合でも、ブックマークから参照された場合にアプリケーションが実行されるように、その時点からローカルにキャッシュする必要があります。何を試しても、電話はサーバーからページを要求し続け、再レンダリングを強制するか、電話がオフラインの場合は失敗します。

Louis Gerbargこの投稿で、HTML5 キャッシュ マニフェストを使用してこれを機能させることを提案しましたが、w3.org ドキュメントに従っても iPhone では機能しないようです。アプリケーションキャッシュが機能している良い例はありますか?

4

4 に答える 4

5

これに関連する以前の質問に回答しましたが、その質問からは動的コンテンツをキャッシュしようとしていることが明確ではありませんでした。キャッシュ マニフェストは、オフライン Web アプリが機能するために必要な静的コンテンツを取得するためのものです。

あなたがやりたいことができるかどうかはわかりません。アプリをオフラインで機能させたいですか、それともダウンロードが遅いためにキャッシュに何かをペグしようとしているだけですか? 実際にオフライン Web アプリ (ユーザーが Spring Board のブックマークまたはアプリとして追加するもの) を構築していない限り、ページはブラウザーの裁量でローカル ストレージから削除できます (必ず削除する必要があります)。ページに設定したキャッシュ ポリシー。

于 2008-11-07T21:54:26.857 に答える
2

iPhone および Safari 3.1 で動作する Safari Javascript データベース API を使用する必要があります。ローカル キャッシングとデータ ストレージに最適です。

http://developer.apple.com/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/

于 2008-11-08T13:09:56.260 に答える
1

出力のサイズに関係している可能性があります。

特に iPhone 向けに微調整を行った深刻な経験からは語れませんが、YUI チームからの興味深い読み物があります: http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ ,これは、iPhone で保持できる最大の解凍されたキャッシュ ファイルが 25k であることを示しており、最適なキャッシュを得るには、できるだけ多くのコンポーネントを 25k 未満にする必要があります。

それが問題の原因かもしれませんが、それは推測にすぎません。

于 2008-11-07T22:10:03.657 に答える