標籤:style blog http io color ar os 使用 java
ApplicationCache主要簡介:
applicationCache對象實現HTML5對應WEB離線功能。下面我們來主要講解applicationCache對象的一些主要功能和方法
applicationCache對象記錄著本機快取的各種狀態及事件。緩衝的狀態可以通過window.applicationCache.status獲得,其狀態
主要包括如下6種:
<span style="font-family:Microsoft YaHei;font-size:12px;">interface ApplicationCache:EventTarget{const unsigned short UNCACHED=0;//未緩衝const unsigned short IDLE=1;//空閑狀態const unsigned short CHECKING=2;//檢查中const unsigned short DOWNLOADING=3;//下載中const unsigned short UPDATEREADY=4;//更新準備中const unsigned short OBSOLETE =5;//到期狀態readonly attribute unsigned short status;}</span>
applicationCache緩衝對象的事件如下表所示:
事件名稱 |
說明 |
Checking |
當user agent檢查更新時,或者第一次下載manifest清單時,它往往是第一個被觸發的事件 |
Noupdate |
當檢查到Manifest中資訊清單檔不需要更新時,觸發該事件 |
Downloading |
第一次下載或更新manifest資訊清單檔時,觸發該事件 |
Progress |
該事件與downloading類似,但downloading事件只觸發一次。Progress事件則在資訊清單檔下載過程中周期性觸發 |
Cached |
當manifest資訊清單檔下載完畢及成功緩衝後,觸發該事件 |
Upadateready |
此事件的含義表示緩衝資訊清單檔已經下載完畢,可通過重新載入頁面讀取快取檔案或者通過方法swapCache切換到新的快取檔案。常用語本機快取跟新版本後的提示 |
Obsolete |
加入訪問manifest快取檔案返回HTTP404錯誤(頁面未找到)或者410錯誤(永久消失)時,觸發該事件 |
Error |
若要達到觸發該事件,需要滿足一下幾種情況之一: 1、已經觸發obsolete事件 2、manifest檔案沒有改變,但快取檔案中存在檔案下載失敗 3、擷取manifest資源檔時發生致命錯誤。 4、當更新本機快取時,manifest檔案再次被更改。 |
在實際的應用中,我們可以通過事件監聽,並根據當前applicationCache對象的狀態處理相關業務。
如下代碼所示:
<span style="font-family:Microsoft YaHei;">applicationCache.addEventListener('updateready',function(){//資源檔下載中,可以在此部分增加業務功能});</span>
接下來值得注意的是,在平時的開發過程中,在使用applicationCache本機快取的同時,往往需要判斷當前瀏覽器的狀態(線上或離線)。HTML5正好提供了一個屬性,用於判斷當前瀏覽器是否線上,代碼如下:
windowz.navigator.onLine
如果返回ture,則說明當前瀏覽器online,返回false則說明當前瀏覽器offline
HTML5系列之——applicationCache對象