0

アプリケーション キャッシュは、クライアントがサイトにアクセスするたびにファイルを自動的にチェックして更新します。ボタンをクリックしたときにのみキャッシュが更新されるとしましょう。クリックすると、そのリクエストに対してのみ「マニフェスト」がタグに追加されます。次のリクエストで、「マニフェスト」は削除されます。

ファイルはキャッシュに残っていますか、それともブラウザによって削除されますか?

タグでマニフェストが定義されていない場合でも、マニフェストのキャッシュ ファイルは引き続き使用されますか?

4

2 に答える 2

1

ファイルは引き続きキャッシュに残ります。ここでの問題は、appcache ファイルが常に使用されることです。キャッシュ内のページには、まだマニフェスト エントリが保持されています。そのため、最初にサーバー側のエントリを削除してから、マニフェスト コンテンツ自体を更新して、エージェントが appcache 内のページを再度更新するようにする必要があります。

于 2012-08-10T06:33:54.937 に答える
0

これが古い質問であることは知っていますが、この問題に関する情報がいかに少ないかは驚くべきことです。

Marvin の回答と組み合わせて、マニフェストのあまり知られていない機能を利用して、キャッシュをクリアできます。

CACHE セクションに記載されているファイルのいずれかを取得できない場合、キャッシュ全体が無視されます。

http://appcachefacts.info/

そのため、マニフェストを更新した後は、それを使用するファイルが存在しないマニフェスト ファイルを指すようにするだけでよく、すべてをダンプする必要があります。

ちょっとした PHP を使って物事をよりきれいにすることができます:

<?php
$CACHE = false;
?><!DOCTYPE html>

<html manifest="<?php if(!$CACHE){echo "BREAK";} ?>manifest.php">
于 2012-12-11T07:54:13.447 に答える