1

次のような単純なappcacheマニフェストがあるとします。

CACHE:
# v1
# images
images/one.jpg
images/two.jpg
images/three.jpg

次に、サーバー側のメソッドを使用して、マニフェストを次のように更新します。

CACHE:
# v1
# images
images/one.jpg
images/two.jpg
images/three.jpg
images/four.jpg

次に、関数のクライアント側を呼び出して、appcacheを更新します。

function updateCache(){ 
    var appCache = window.applicationCache;

    appCache.update(); 

    if (appCache.status == window.applicationCache.UPDATEREADY) {
        appCache.swapCache(); 
    }
}

すべてを再度ダウンロードせずに、新しいイメージを既存のキャッシュに「追加」したいと思います(これが現在行われていることです)。これは可能ですか、それとも基本的なものが欠けていますか?

4

1 に答える 1

4

それは再びすべてをダウンロードします、それはそれが機能するように設計されている方法です。ただし、画像に遠い将来の有効期限ヘッダーを設定した場合、ブラウザがそれらをサーバーから再度要求するのではなく、ローカルブラウザのキャッシュからフェッチする可能性があります。

開発中にこれを行うと、奇妙な動作につながる可能性がありますが、本番サイトでは必ず行う必要があります。

于 2012-01-24T11:28:43.757 に答える