HTML5 Web Storage 存儲介紹
Web Storage是HTML5 API提供一個新的重要的特性;
最新的Web Storage草案中提到,在web客戶端可用html5 API,以Key-Value形式來進行數據持久存儲;
目前主要的瀏覽器已經支持該功能;
常見的web客戶端數據存儲比較:
Html5 Web Storage非常易于Web開發者使用,他提供了非常簡單的獲取或設置key-value對的API;
支持的數據大小由網頁瀏覽器廠商來決定,大多數支持都是5M或10M以上;
這就意味著,我們可以在客戶端存儲更多有關用戶及會話的信息,諸如用戶個人設置、本地化數據、離線數據等;
Web Storage存儲的數據可能用javascript來進行訪問;
Web Storage對象主要分為兩種類型:sessionStorage and localStorage;
sessionStorage:是針對用戶執行單個事務的方案而設計的,僅在單個頁面(標簽或者窗口)會話范圍內是有效的。所以當頁面session失效時,數據也會刪除;
localStorage:是跨多個窗口,且持續范圍可超過當前會話;意味著當瀏覽器關閉再重新打開,數據依然是可用的;
這兩種類型的對象,在不同的瀏覽器之間訪問數據是無效的;例如,我們在Firefox中創建localStorage,要在IE中去訪問,是訪問不到數據的;
Storage只能存儲key/value對,而且只支持字符串類型的數據;如果你想保存其它類型的數據,在保存的時候就需要轉化成字符串,在讀取時,再轉化回來;
它保存的數據并不進行加密,所以雖然web Storage功能很強大,但也不宜保存比較敏感的數據;
Web Storage支持的屬性與方法:
Web Storage支持storage事件:
當web storage中的數據被保存后,修改或刪除數據,都會觸發Storage事件。
觸發該事件對象,包含了觸發對象,URL及key/value變化前后的鍵值。
雖然規范里要求Storage事件在同一個瀏覽器里能被所有的窗口或者標簽頁觸發,但是該功能目前只有少數的瀏覽器支持。
Storage Event支持的屬性有: