2012-01-24 56 views
1

說我有一個簡單的應用程序緩存清單看起來像:HTML5應用程序緩存添加/刪除特定文件

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(); 
    } 
} 

我想「添加」我的新圖像到第e現有的緩存,而無需再次下載(這是目前正在發生的事情)。這是可能的還是我錯過了一些基本的東西?

回答

4

它會再次下載所有東西,這就是它設計的工作方式。但是,如果您在圖像上設置了far future expiry headers,那麼瀏覽器將從本地瀏覽器緩存中獲取它們的機會,而不是再次請求它們離開服務器。

請注意,如果您在開發過程中這樣做會導致一些奇怪的行爲,但您絕對應該爲生產站點執行此操作。

+0

#robertc我想你可以幫助我:http://stackoverflow.com/questions/9287044/my-html5-application-cache-manifest-is-caching-everything/9287604#9287604 – Neo

相關問題