2

私はappcacheを持っています(NETWORK *を使用)。だから今私はで私のページにアクセスし<html manifest="/cache.appcache">ます。次に、すべての画像がそうであるように、ページ自体がキャッシュされます。しかし、ページ自体がキャッシュされないようにしたいのです。これどうやってするの?私NETWORK *はそのトリックをするだろうと思った。

よろしく、ケビン

4

2 に答える 2

1

appcache マニフェストは常にマスター ページをキャッシュします。Chrome を使用している場合は、ページのキャッシュ ファイルを確認してください: chrome://appcache-internals

回避策として、オフライン コンテンツをキャッシュするための appcache ファイルを含む非表示の iframe をページのどこかに配置することが考えられます。(「アプリケーション キャッシュが iframe でマスターを保存しないようにする」を参照してください: http://labs.ft.com/2012/11/using-an-iframe-to-stop-app-cache-storing-masters / )

より良い解決策は、ページを開いたときにサーバーから新しいコンテンツを取得するようにページを作成することです。サーバーにアクセスできない場合は、HTML5 ローカル ストレージから最新の既知のコンテンツを提供できます。

于 2013-12-09T15:11:30.117 に答える
1

私は iframe の回避策を試してみましたが、エラーが発生していることがわかりました。ほとんどのブラウザーは、ページが取得できない iframe のデータをキャッシュします。

代わりに、ページのコンテンツを AJAX 経由でロードします。基本的に、サーバーからコンテンツを取得して追加するマニフェストと JavaScript を含む空白の html ページがあります。このようにして、空白の html のみがキャッシュされ、コンテンツは常にサーバーから更新されます。

ページをこの方法に変換するのは非常に難しい場合がありますが、うまくいきます。適切な JavaScript が正しいタイミングで実行されるようにするには、おそらく多少のもつれを解く必要があります。キャッシュから新しい ajax メソッドにプルするときに呼び出されないサーバー コードを移動します。

注: 条件がクエリ文字列にある場合、サーバーから条件付きコンテンツをプルする必要はありません。クエリ文字列が異なると、別のキャッシュが作成されます。

于 2014-07-18T16:08:08.167 に答える