離線檢測
- navigator.onLine 屬性可以判斷當前網(wǎng)絡(luò)是否連通. 同時 還可以監(jiān)聽online offline事件來網(wǎng)絡(luò)狀態(tài)
應(yīng)用緩存
- applicationCache對象里有離線緩存相關(guān)
<html manifest="/offline.manifest">
- applicationCache.status 表示應(yīng)用緩存當前的狀態(tài)
- 也有很多相關(guān)的事件
checking 緩存查找更新時候觸發(fā)
error 檢查更新或者下載資源發(fā)生錯誤時候觸發(fā)
noupdate 發(fā)現(xiàn)文件無變化時候觸發(fā)
downloading 開始下載時候觸發(fā)
progress 在應(yīng)用緩存的過程中不斷觸發(fā)
updateready 在頁面新的應(yīng)用緩存下載完畢且可以通過swapCache()(手動啟用新應(yīng)用緩存)時候觸發(fā)
cached 在應(yīng)用緩存完整可用時候觸發(fā)
一般情況,以上是按順序觸發(fā), 不過update()可以手動干預(yù)
數(shù)據(jù)存儲
- cookie 需要encodeURLComponent進行編碼
- sessionStorage數(shù)據(jù)只會保存到瀏覽器關(guān)閉,存儲在這里面的數(shù)據(jù)可以跨域頁面刷新而存在(什么鬼),有的瀏覽器還支持在瀏覽器崩潰重啟后session還依舊可用
- globalStorage 只有在firefox下可用
- globalStorage sessionStorage 域中任何一個頁面存儲的信息都能被所有的頁面共享
indexedDB 要注意的是數(shù)據(jù)庫的操作完全是異步進行
-
打開數(shù)據(jù)庫
-
設(shè)置數(shù)據(jù)庫版本,indexedDB數(shù)據(jù)庫是沒有版本號的,最好一開始就為數(shù)據(jù)庫指定一個版本號,setVersion('1.0')
已經(jīng)沒有setVersion方法, 現(xiàn)在設(shè)置版本號方法在下面
- 現(xiàn)在indexedDB在open()時候可以傳入第二個參數(shù), 其含義為 創(chuàng)建/打開指定版本的數(shù)據(jù)庫, 第二個參數(shù)只能為整數(shù),同時會觸發(fā)onupgradeneeded事件