HTML5系列之——applicationCache對象

來源:互聯網
上載者:User

標籤:

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.