3

HTML jquerymobile アプリがあります。ユーザーがホーム画面からアプリを読み込もうとしたときに、オフライン ページを表示する必要があります。

私が彼らに見せたいページは、gont-offline.jsp です。問題は、ユーザーがアクセスするすべてのページに HTML マニフェストを含めると、そのページがキャッシュされてしまうことです。つまり、ユーザーがアプリをオフラインでロードすると、アクセスしたページが表示されることがありますが、画像が欠落しているなど、望ましくありません。つまり、特定のページのみをキャッシュするクリーンなキャッシュ システムが必要です。

ユーザーがアクセスしたときに他のページがキャッシュされるのを防ぐことは可能ですか?

私が望むのは、ナビゲーターがオンラインかどうかをチェックする小さな JS ファイルをキャッシュすることです。そうでない場合は、オフラインになったページにリダイレクトします。

4

2 に答える 2

2

役立つこの質問を参照してください。

要約すると、次のようなマニフェストを使用します。

CACHE MANIFEST
CACHE:
/gone-offline.jsp

FALLBACK:
/ /gone-offline.jsp

NETWORK:
*
于 2012-02-24T14:08:19.517 に答える
1

マニフェストには、CACHE、NETWORK、および FALLBACK の 3 つの異なるセクションを含めることができます。

CACHE:これはエントリのデフォルト セクションです。このヘッダーの下 (または CACHE MANIFEST の直後) にリストされているファイルは、最初のダウンロード後に明示的にキャッシュされます。

ネットワーク:このセクションにリストされているファイルは、サーバーへの接続を必要とするホワイトリストに登録されたリソースです。ユーザーがオフラインであっても、これらのリソースへのすべてのリクエストはキャッシュをバイパスします。ワイルドカードを使用できます。

FALLBACK:リソースにアクセスできない場合のフォールバック ページを指定するオプションのセクション。最初の URI はリソースで、2 番目はフォールバックです。どちらの URI もマニフェスト ファイルと同じオリジンの相対パスである必要があります。ワイルドカードを使用できます。注: これらのセクションは任意の順序でリストでき、各セクションは 1 つのマニフェストに複数表示できます。

ソース: http://www.html5rocks.com/en/tutorials/appcache/beginner/

私は HTML5 キャッシュ マニフェストにあまり詳しくありませんが、NETWORKセクションを使用して、接続状態に関係なく一部のページを強制的に更新したいようです。

于 2012-02-24T00:33:09.030 に答える