2013-10-02 152 views
0

我正在使用html5清單來存儲應用程序以供離線使用,但是我希望能夠在聯機時更新緩存中的數據。我有一個很好的看看,找不到任何體面的幫助我。更新應用程序緩存清單

回答

2

您只需修改服務器上的清單文件即可。瀏覽器會檢查清單文件自上次緩存所有資產以來是否已被修改,如果它已觸發updateready事件。然後瀏覽器將請求所有新/修改的資產並緩存它們。下次頁面加載時,新資產將被使用。您可以通過強制頁面重新加載,使瀏覽器儘快使用這些新資產:

if ('applicationCache' in window) { 
    // Check if a new cache is available on page load. 
    window.addEventListener('load', function(e) { 
    window.applicationCache.addEventListener('updateready', function(e) { 
     if (window.applicationCache.status == window.applicationCache.UPDATEREADY) { 
     // Browser downloaded a new app cache. 
     try { window.applicationCache.swapCache() } catch(err) { } 
     // Swap it in and reload the page to get the new hotness. 
     var reload = confirm('A new version of this site is available. Load it?'); 
     if (reload) window.location.reload(); 
     } 
    }, false); 
    }, false); 
} 
相關問題