谈谈localStorage、sessionStorage
程序员文章站
2022-06-06 09:22:14
...
存储有效期和作用域
localStorage的存储有效期是永久性的,除非用户自己删除,否则会一直存在用户的电脑上,永不过期
localStorage的作用域限定在同源的文档之间,只有当协议,端口,域名三者相同的时候,才能共享数据,甚至可以覆盖和修改数据。但在不同源的文档下,是不能访问的。
http://www.example.com // 协议 http 域名 www.example.com
https://www.example.com // 协议不同
http://static.example.com // 域名不同
http://www.example.com:8080 // 端口不同
同时,localStorage还受不同浏览器厂商的限制,比如,你在chrome上存储数据,下次,你在firfox上是无法访问数据的。
sessionStorage的存储有效期仅是当前窗口,当前窗口关闭,sessionStorage即被删除
sessionStorage的作用域和localStorage一样,同样被限制在同源的文档之间,非同源之间是无法共享sessionStorage数据的。不仅如此,sessionStorage还被限定在窗口中,如果在另外一个窗口重新打开网页,也是无法共享sessionStorage数据
存储大小
都为5MB
存储API
localStorage.setItem('name', 'qian') // 设置名字为name 值为 qian
localstorage.getItem('name') // 获取名字为name的值
localStorage.removeItem('name') // 删除名字为name项
localStorage.clear() // 清空所有项
localStorage.key(i) // 获取第i项的名字
localStorage.length // 获取长度
以上同样适用sessionStorage