LocalStorage 是 Web 存储 API 的一部分,允许浏览器在客户端持久化存储数据。与 SessionStorage 不同,LocalStorage 中的数据没有过期时间,数据会一直保留,直到被显式删除。
类型:
JSON.stringify
转换为字符串后再存储。应用场景:
// 假设我们有一个 JWT 令牌
const token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...";
// 将令牌存储到 LocalStorage
localStorage.setItem('userToken', token);
// 从 LocalStorage 中读取令牌
const storedToken = localStorage.getItem('userToken');
console.log(storedToken);
// 删除 LocalStorage 中的令牌
localStorage.removeItem('userToken');
问题1:跨域访问限制
LocalStorage 是基于同源策略的,不同源的页面无法访问彼此的 LocalStorage 数据。
解决方法:
问题2:安全性问题
虽然 LocalStorage 不会随 HTTP 请求发送到服务器,但存储在其中的敏感信息(如令牌)仍然可能被恶意脚本窃取。
解决方法:
问题3:存储空间不足
如果存储的数据量过大,可能会遇到存储空间不足的问题。
解决方法:
LocalStorage 是一个非常有用的客户端存储机制,特别适用于需要持久化保存数据的场景。但在使用时需要注意安全性和存储空间的管理,以确保应用的稳定性和安全性。