1:概念javascript
sessionStorage用於本地存儲一個會話(session)中的數據,這些數據只有在同一個會話中的頁面才能訪問而且當會話結束後數據也隨之銷燬。所以sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。(而localStorage用於持久化的本地存儲,除非主動刪除數據,不然數據是永遠不會過時的。)html
2:web storage和cookie的區別:前端
Web Storage的概念和cookie類似,區別是它是爲了更大容量存儲設計的。Cookie的大小是受限的,而且每次你請求一個新的頁面的時候Cookie都會被髮送過去,這樣無形中浪費了帶寬,另外cookie還須要指定做用域,不能夠跨域調用。html5
除此以外,Web Storage擁有setItem,getItem,removeItem,clear等方法,不像cookie須要前端開發者本身封裝setCookie,getCookie。java
可是Cookie也是不能夠或缺的:Cookie的做用是與服務器進行交互,做爲HTTP規範的一部分而存在 ,而Web Storage僅僅是爲了在本地「存儲」數據而生(來自@otakustay 的糾正)web
3:html5 web storage的瀏覽器支持狀況跨域
瀏覽器的支持除了IE7及如下不支持外,其餘標準瀏覽器都徹底支持(ie及FF需在web服務器裏運行),值得一提的是IE老是辦好事,例如IE七、IE6中的UserData其實就是javascript本地存儲的解決方案。經過簡單的代碼封裝能夠統一到全部的瀏覽器都支持web storage。瀏覽器
要判斷瀏覽器是否支持localStorage可使用下面的代碼:服務器
if(window.localStorage){ alert("瀏覽支持localStorage") }else{ alert("瀏覽暫不支持localStorage") } //或者 if(typeof window.localStorage == 'undefined'){ alert("瀏覽暫不支持localStorage") }
4:用法:cookie
(4.1)setItem存儲value
用途:將value存儲到key字段
用法:.setItem( key, value)
代碼示例:
sessionStorage.setItem("key", "value");
(4.2)getItem獲取value
用途:獲取指定key本地存儲的值
用法:.getItem(key)
代碼示例:
var value = sessionStorage.getItem("key");
(4.3)removeItem刪除key
用途:刪除指定key本地存儲的值
用法:.removeItem(key)
代碼示例:
sessionStorage.removeItem("key");
(4.4)clear清除全部的key/value
用途:清除全部的key/value
用法:.clear()
代碼示例:
sessionStorage.clear();
(4.5)length 獲取 sessionStorage的項目數
用法:sessionStorage.length
******支持度:非IE瀏覽器基本上均可以,IE>=8均可以
5:解釋:
Key:表示你要存入的鍵名稱,此名稱能夠隨便命名,能夠按照變量的意思來理解。
Value:表示值,也就是你要存入Key中的值,能夠按照變量賦值來理解。
eg:
保存數據:sessionStorage.setItem("website", "W3Cfuns.com");
讀取數據:sessionStorage.getItem("website");
參考:http://www.cnblogs.com/yuzhongwusan/archive/2011/12/19/2293347.html