Q14-localstorage 和 sessionStorage

參考:http://blog.haoji.me/aboute-session-storage.html

① localStorage(本地存儲)和sessionStorage(會話存儲)都是html5中新增加的屬性,它們將瀏覽器的本地存儲大小擴大到了5M;

② 生命周期不同,localStorage如果不進行清除的話數據會一直存在,長久有效;sessionStorage在瀏覽器關閉時數據會被清除;

③ 注意傳入的必須是字符串格式,如果需要傳入復雜的需要使用JSON.parse()和JSON.stringify()來配合;

理解:

后臺的session:

Java的session,它是基于往cookie寫入一個sessonid來實現的,所以只要你不是打開一個隱身窗口,無論你開多少個標簽頁,不同標簽頁之間都會被認為是一個session,你在這個標簽頁登錄了,新開一個標簽輸入地址,仍然是登錄狀態;

sessionStorage的session:

HTML5中的這個sessionStorage和傳統后臺的session并不完全是同一個東西,主要表現在多標簽頁數據是否會共享的問題上的不同;

誤區:之前認為,同一個窗口,只要會話沒過期,不同標簽頁之間,相同域名下的sessionStorage是一樣的;

正確:刷新當前頁面,或者通過location.href、window.open或者通過帶有target="_blank"的a標簽打開新標簽,之前的sessionStorage還在,但是如果是主動打開一個新窗口或者新標簽,那么F12會發現,sessionStorage空空如也,什么都沒有;

總結:也就是說sessionStorage的session僅限于當前標簽頁或者當前標簽頁打開的新標簽頁,通過其他方式新開的窗口或者標簽,不認為是同一個session;

使用:

window.localStorage.setItem( key,? json)

window.localStorage.getItem( key)

window.localStorage.removeItem(key)

window.localStorage.clear()

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。