浏览器现在主流的存储方式有:localStorage、sessionStorage、Cookie、indexedDB
存储类型 | localStorage | sessionStorage | Cookie | indexDB |
---|---|---|---|---|
存储大小 | 5MB | 5MB | 4KB | 无上限(几百M-几百G) |
生命周期 | 永久,除非手动清除 | 页面关闭时清除 | 关闭浏览器清除,可设置过期时间 | 永久,除非手动清除 |
存储位置 | 浏览器 | 浏览器 | 浏览器 | 浏览器 |
存储方式 | 键值对 | 键值对 | 键值对 | 键值对 |
存储类型 | 字符串 | 字符串 | 字符串 | 字符串 |
作用域 | 同源页面共享 | 参考问题一 | 同源页面共享数据 | 限制在域名下 |
同步/异步 | 同步 | 同步 | 同步 | 异步 |
sessionStorage
是会话级别的存储,不能在多个标签页或者多个窗口之间共享数据。
但是,如果通过当前页面 A 点击超链接或者通过window.open
打开的页面 B,是属于当前会话的延续,B 页面会复制 A 页面的sessionStorage
,仅仅是复制sessionStorage
,无论 A 页面还是 B 页面修改sessionStorage
都不会影响另一个页面。