HTML5系列之——applicationCache對象

來源:互聯網
上載者:User

標籤: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對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.