標籤:安全 else err global pre 協議 發送 讀寫 script
首先檢查裝置是否線上,html5定義了navigator.onLine屬性,html5還定義了兩個事件:online和offline,線上和離線狀態切換變化時會觸發。這兩個事件在window對象上觸發。
if(navigator.onLine ){//線上}else{//離線}EventUtil.addHandle(window,"online",function(){})
html5的應用緩衝,或者簡稱為appcache,專門為開發離線應用而設計的,是從瀏覽器緩衝中開闢的一個小緩衝,需要使用一個描述檔案(manifest file)才能在這塊緩衝中儲存資料,
列出需要下載和緩衝的資源:file.css file.js
將描述檔案與頁面關聯起來的方法:
<html manifest ="描述檔案的路徑">
通過javascript API 中的application cache對象跟蹤應用緩衝過程的狀態,applicationCache的屬性status描述狀態,其值為常量:
0 -- 無緩衝
1 -- 應用緩衝未更新
2 -- 正在檢查描述檔案是否有更新
3 -- 正在下載最新的描述檔案
4 -- 更新完成
5 -- 應用緩衝的描述檔案不存在
應用緩衝還有很多相關的事件表示其狀態的變化:
checking error noupdate downloading progress upodateready cached
調用applicationCache.swapupdate()啟動應用緩衝
直接在用戶端上儲存使用者的資訊。
1)Cookie
在進行http請求時在header頭部進行cookie值的設定,set-cookie: name=value
cookie包含的內容有:
1)名稱,必須經過URL編碼
2)值,必須經過URL編碼
3)域,cookie對於哪個域是有效地
4)路徑,cookie對於有效域下地哪個路徑是有效地
5)失效時間,一般式在瀏覽器會話結束時關閉,但也可以自行設定失效時間
6)安全標誌,指定secure,cookie只有在使用SSL串連的時候才發送到伺服器
在單個域下cookie設定的數量和所佔的位元組數都是有限制的。
在javascript讀寫cookie不是很直觀,所以往往需要手動建立函數來簡化操作,cookie的常規操作有讀取,寫入,刪除操作。
2)web儲存機制
web storage是用來克服由cookie帶來的一些限制,web storage的兩個主要目標是:提供cookie之外儲存會話資料的方式;提供一種可以儲存大量會話資料的機制。
storage類型提供最大的儲存空間來儲存名值對,有如下方法:
clear() -- 刪除所有值
getItem(name) -- 根據name擷取對應的值
setItem(name,value)
removeItem(name)
key(index) -- 獲得index位置處的值
- sessionStorage對象(是storage的一個執行個體)
儲存特定會話的資料,該資料只儲存到瀏覽器關閉。
sessionStorage.getItem(name);
對globalStorage對象的訪問是依據頁面的協議、網域名稱、連接埠號碼來限制的,各個瀏覽器對儲存資料的內容空間有限制。
在html5中取代了globalStorage,用於持久儲存用戶端看資料,localStorage也必須在同源下才可以訪問資料。
javascript:離線應用與用戶端儲存