HTML5 本地存儲Web Storage
Web Storage 功能,顧名思義,就是在web上針對客戶端本地存儲數據的功能,具體來說Web Storage 分為兩種:
sessionStorage:
將數據保存在session對象中,所謂session是指用戶在瀏覽某個網站中,從進入網站到瀏覽器關閉所經過的這段時間,也就是用戶瀏覽這個網站所花費的時間。session對象可以用來保存在這段時間內所要求保存的任何數據。
localStorage:
將數據保存在客戶端本地的硬件設備(通常指硬盤,當然可以是其他的硬盤設備)中,即是瀏覽器被關閉了,該數據仍然存在,下次打開瀏覽器訪問網站時,仍然可以繼續使用。
sessionStorage與localStorage區別:
這兩者的區別在于sessionStorage為臨時保存,而localStorage為永久保存。
對比session和cookie的區別主要體現在一下三點:
1.容量大,IE8里面是10M, 不同的瀏覽器支持的大小不一致。
2. 不會隨著會話來傳輸。
3. 讀取和寫入方便,有現成的api
不管是sessionStorage, 還是localStorage, 可使用的API都相同,常用的有如下幾個方法:
1.保存數據: localStorage.setIterm(key,value); sessionStorage.setItem(key, value);
2.讀取數據: localStorage.getIterm(key); sessionStorage.getItem(key);
3.刪除單個數據: localStorage.removeItem(key) sessionStorage.removeItem(key);
4.刪除所有數據: localStorage.clear(); sessionStorage.clear();
兩個都有屬性length 表示Key的個數,也即key長度:
var keylength1 = localStorage.length; var keyLength2 = sessionStorage.length;
如上,key和value都必須為字符串,換言之,Web Storage的API只能操作字符串。
Web storage 的瀏覽器支持情況的判斷:
在使用web storage時,首先判斷是否支持該功能,有些瀏覽器不支持(IE),只有支持才可以使用,判斷方法如下:
if(window.localStorage){ //或者 window.sessionStorage alert("瀏覽支持localStorage") }else{ alert("瀏覽暫不支持localStorage") } //或者 if(typeof window.localStorage == 'undefined') { //或者 window.sessionStorage alert("瀏覽暫不支持localStorage") }
Web Storage使用實例代碼:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title>HTML5 Web Storage Demo</title> <script type="text/javascript"> function $(id){ return document.getElementById(id);} function savesessionStorage(id){sessionStorage.setItem('message',$(id).value);} function loadsessionStorage(id){$(id).innerHTML=sessionStorage.getItem("message");} function savelocalStorage(id){localStorage.setItem("message",$(id).value);} function loadlocalStorage(id){$(id).innerHTML=localStorage.getItem("message");} </script> </head> <body> <div> <h2>sessionStorage Demo</h2> <p id="sessionMsg"></p> <input type="text" id="sessionInput" /> <input type="button" value="保存數據" onclick="savesessionStorage('sessionInput');" /> <input type="button" value="讀取數據" onclick="loadsessionStorage('sessionMsg');" /> <br /> <h2>localStorage Demo</h2> <p id="localMsg"></p> <input type="text" id="localInput" /> <input type="button" value="保存數據" onclick="savelocalStorage('localInput');" /> <input type="button" value="讀取數據" onclick="loadlocalStorage('localMsg');" /> </div> </body> </html>
參考文章:
http://www.sitepoint.com/html5-web-storage/
http://www.cnblogs.com/asqq/archive/2012/06/20/2556957.html
http://blog.csdn.net/shenzhennba/article/details/8480756