sessionStorage細節

sessionStorage的清除時機是在會話結束,會話結束是在用戶關閉標籤頁或者關閉窗口的時候;手動新開一個標籤或窗口時,會新開會話,即使鏈接一樣,也不會共享sessionStorage

只有在下面情況1的時候,新開頁面才能'共享'sessionStorage

場景1:如果用戶在A頁面下存儲了test,通過js或者a標籤跳轉到同源的B頁面時,A頁面下的sessionStorage會被拷貝到B頁面下,AB頁面的sessionStorage雖然相同,但二者相互獨立;另外如果用戶在A頁面下存儲了test,通過js或者a標籤跳轉到不同源的B頁面時,儘管還是在同一標籤頁下,但是在B頁面獲取不到test項。

場景2:如果用戶在A頁面打開的情況下,手動打開了一個新標籤頁,訪問A頁面,此時會重開一個新回話,二者sessionStorage是不共享的。

sessionStorage與localStorage的區別:

localStorage 存儲持久數據,瀏覽器關閉後數據不丟失除非主動刪除數據;

sessionStorage 數據在當前瀏覽器窗口關閉後自動刪除。

因此sessionStorage 和 localStorage 的主要區別在於他們存儲數據的生命週期,sessionStorage 存儲的數據的生命週期是一個會話,而 localStorage存儲的數據的生命週期是永久,除非主動刪除數據,否則永遠不會過期

 

參考鏈接:https://segmentfault.com/a/1190000020895002

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章