sessionStorage ,localStorage 瀏覽器提供的api,
能夠在當前域名下存儲信息,只能存儲 stringweb
sessionStorage 是關閉當前 tab頁 就清楚了,localStorage 一直都在,關閉瀏覽器也會存在api
存儲數組
sessionStorage.setItem(key,value);瀏覽器
sessionStorage.setItem("userName","王五");
獲取session
var result = sessionStorage.getItem(key);測試
清除
sessionStorage.clear();url
測試 當前瀏覽器存儲大小 http://dev-test.nemikor.com/w...code
存儲的時候 value 要是 string ,不要用數組 或者 對象對象
數組 // 錯誤處理方式 sessionStorage.setItem("a",[1,2,3,4,5]) sessionStorage.getItem("a") // "1,2,3,4,5" 這樣處理的話,返回成了一個 string,得本身在轉換成 數組 // 正確處理方式 sessionStorage.setItem("a",JSON.stringify([1,2,3,4,5])) JSON.parse(sessionStorage.getItem("a") ) // [1,2,3,4]; 對象 // 錯誤處理方式 sessionStorage.setItem("a",{id:"134",name:"33"}) sessionStorage.getItem("a") // "[object Object]" ,返回的這種數據都沒得辦法處理 // 正確處理方式 sessionStorage.setItem("a",JSON.stringify({id:"134",name:"33"})) JSON.parse(sessionStorage.getItem("a") ); // {id:"134",name:"33"}
sessionStorage 能夠存儲些用戶信息,在瀏覽器關閉前不怎麼改變的 比方下拉框生命週期
getSelectData("userType",function(data){ console.log(data); }); function getSelectData(key,callback){ var storeMap = {}; var key_url = { "user": 'api/user', "orderStatus":'api/order/status', "userType": "api/user/type" } var result = getStore(key); if(result){ callback(result); return ; } $.get(key_url[key],).done(function(data){ setStore(key,data); callback(data); }); function setStore(key,value){ sessionStorage.setItem(key,JSON.stringify(value)) } function getStore(key){ var result = sessionStorage.getItem(key); if(!result){ return null; } return JSON.parse(result) } }