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 回答