作为 Web Storage API 的接口,Storage
提供了访问特定域名下的会话存储或本地存储的功能,例如,可以添加、修改或删除存储的数据项。
- Storage遵循同源策略(协议,主机名,端口),不同源时数据不共享。
- Storage的键值对只支持字符串的形式存储,不支持对象数组等其他数据类型,数据类型会自动转换为字符串类型。
- 容量限制统一为5M,不同的浏览器限制有所不同
会话存储(sessionStorage)
sessionStorage属性允许你访问一个对应当前源的session Storage对象。sessionStorage里面的数据在页面会话结束时会被清除。
- 页面会话在浏览器打开期间一直保持,并且重新加载或者恢复页面仍会保持原来的会话(刷新页面sessionStorage不会消失)。
- 在新标签或者新窗口打开一个页面时会复制顶级浏览会话的上下文作为新会话的上下文(各标签页不共享sessionStorage,当通过a标签新开一个tab页,sessionStorage不会带过去)
- 打开多个相同的URL的Tabs页面,会创建各自的sessionStorage(URL即便相同,sessionStorage也不共享)
- 关闭对应的浏览器窗口或者Tab,会清除对应的sessionStorage
本地存储(localStorage)
存储在 localStorage
的数据可以长期保留,永久有效。当保存的数据超出了浏览器所规定的的大小,不会把旧数据清空,而是会报错。