applicationCache對象

applicationCache對象表明了本地緩存,能夠在js中進行一些操做。能夠用它來通知用戶本地緩存中已經被更新,也容許用戶手工更新本地緩存。
applicationCache.addEventListener("updateready",function(){
        alert("本地緩存已被更新,您能夠刷新頁面來獲得本程序的最新版本");
},true);
一個比較有意思的用法:
setInterval(function(){
        // 手工檢查是否有更新
        applicationCache.update();    
},5000);
applicationCache.addEventListener("updateready",function(){
        if(confirm("本地緩存已被更新,須要刷新頁面來獲取應用程序最新版本,是否刷新?")){
                // 手工更新本地緩存
                applicationCache.swapCache();
                // 重載頁面
                location.reload();
        }
},true);
【applicationCache對象的事件】
applicationCache能夠監聽的事件還有:
checking ---- 瀏覽器發現網頁具備manifest屬性,觸發checking事件,檢查manifest文件是否存在。不存在時,觸發error事件。
noupdate ---- 見downloading。
downloading ---- 瀏覽器檢查到manifest文件,判斷文件是否被更新,若是文件未更新,觸發noupdate事件,不然觸發downloading事件,而後開發下載這些資源。在下載的同時,週期性地觸發progress事件。
progress ---- 見downloading。
updateready ---- 見cached。
cached ---- manifest文件中要求的緩存文件所有下載結束後,若是是首次緩存,觸發cached事件,表示首次緩存成功,若是是更新manifest文件引發的從新下載,下載結束後不觸發cached事件,而是觸發updateready事件。
error ---- 見checking。
首次訪問網頁時,依次觸發的事件爲:checking、downloading、progress、progress、cached
再次打開網頁,且manifest文件沒有更新時:noupdate
再次打開網頁,且manifest文件已被更新時:downloading、progress、progress、updateready
#html5html

相關文章
相關標籤/搜索