2015-06-12 43 views
0

前清單,HTML頁面顯示出來,然後緩存清單開始下載在後臺指定的文件。但是,我更喜歡在初始頁面出現在屏幕上之前,緩存清單完成下載每個列出的文件。在用戶看到初始頁面的瞬間,他或她可以從互聯網斷開連接,並按照預期使用Web應用程序的所有功能。完成加載緩存顯示當你第一次正常加載與緩存清單一個Web應用程序的Web應用程序

有沒有一種方法可以做到這一點?

回答

0

來源:https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.appprogramming/html/tutorials/w3c_tutorial/storage_tutorial/app_cache_managing.htm

我想看看在應用程序緩存事件,特別是updateready事件。

document.body.style.display = 'none'; //this should probably be in your stylesheet.  

applicationCache.addEventListener('cached', function() { 
    /* All resources for update are downloaded */ 
    // show your webpage here 
    document.body.style.display = 'block'; 
}); 

可能需要還看一些在鏈接的參考列出的其他事件。如果沒有更新,我不知道這個事件是否會觸發。

但有幾個事件,如果沒有清單文件,或者如果沒有可用等沒有更新似乎是相當直截了當雖然。如果您有任何問題,只需發表評論。

編輯

您還需要監聽noupdate事件來處理清單未更新的情況。 (謝謝@Applecot)

applicationCache.addEventListener('noupdate', function() { 
    //no updates, display the page 
    document.body.style.display = 'block'; 
}); 
+0

非常感謝。爲了讓你知道,我還必須使用noupdate事件(用於在沒有可用更新的情況下加載頁面)和緩存事件(因爲Chrome/Safari/Opera在更新已準備就緒方面存在問題)。 – Applecot

+0

很高興知道,我會將其添加到我爲其他人的答案中。感謝您花時間跟進。 –

相關問題