storage本地存儲,彷佛有點想起cookie,的確用法也相似於cookie。可是storage較cookie有很多好處:api
存儲量大;在客戶端完成,不會請求客戶端;cookie
storage分爲sessionStorage和localStorage。session
1.sessionStorage 臨時存儲,當頁面關閉的時候,本地存儲也就消失。而且sessionStorage的數據是不會共享的。url
2.localStorage 永久刪除,能夠手動刪除數據,數據是共享的。spa
storage下有如下api:code
window.sessionStorage和window.localStorage有如下4個方法:對象
setItem(): 設置數據,key\value類型,類型都是字符串 能夠用獲取屬性的形式操做blog
getItem(): 獲取數據,經過key來獲取到相應的value removeItem():事件
刪除數據,經過key來刪除相應的valuerem
clear(): 刪除所有存儲的值。用法以下:
window.localStorage.getItem('name')
存儲事件:
當數據有修改或刪除的狀況下,就會觸發storage事件。不過,在對數據進行改變的窗口對象上是不會觸發的,也就是說有兩個及兩個以上的窗口,當有數據改變的時候,除了本身本窗口意外的其餘窗口對象都會觸發storage事件。
該事件的event對象下有如下屬性:
Key : 修改或刪除的key值,若是調用clear(),key爲null
newValue : 新設置的值,若是調用removeStorage(),key爲null
oldValue : 調用改變前的value值
storageArea : 當前的storage對象
url : 觸發該腳本變化的文檔的url
以下:
window.addEventListener('storage',function(ev){ //當前頁面的事件不會觸 console.log( ev.key ); console.log( ev.newValue ); console.log( ev.oldValue ); console.log( ev.storageArea ); console.log( ev.url ); },false);