前言
如果你想把東西存在網頁前端,也就是存在瀏覽器裡面,基本上就是以下這幾個選項:
- Cookie
- LocalStorage
- SessionStorage
- IndexedDB
- Web SQL
後兩者應該滿少用到的,而最後一個 Web SQL 也早在幾年前就被宣告已經不再維護了。因此在談到儲存資料的時候,大部分的人提的還是前三種,其中又以前兩種最多人使用。
畢竟在前端儲存資料時,大部分資料都希望能儲存一段時間,而 cookie 跟 localStorage 就是被設計在這種情形下用的,可是 sessionStorage 不是,它只適合儲存非常短期的資料。
不知道大家對 sessionStorage 的理解是不是跟我一樣,先說說我的理解好了:
sessionStorage 跟 localStorage 最大的差別在於前者只會存在於一個分頁當中,你分頁關掉之後資料就清除了,所以新開分頁,就會有新的 sessionStorage,在不同分頁不會共用。但後者如果是相同的網站,可以共用同一個 localStorage
但我想問大家的是:有沒有可能有一種情況,我在分頁 A 的 sessionStorage 存了一些東西,然後有一個新的分頁 B,也可以讀到分頁 A 的 sessionStorage?
你可能以為沒有,我以前也以為沒有,我同事也這樣認為。
但偏偏就是有。