HTML5的SessionStorage如何设置自动失效和定时清除数据?
- 内容介绍
- 文章标签
- 相关推荐
本文共计904个文字,预计阅读时间需要4分钟。
浏览器原生的 `sessionStorage` 不支持设置过期时间,也不自动清除过期数据。它仅在当前标签页生命周期内有效:
常见错误现象:sessionStorage.getItem('token') 在用户长时间未操作后仍返回旧值,导致权限校验失效或接口报 401;后台已踢出用户,前端却还在用过期 token 发请求。
- 使用场景:登录态临时缓存、表单草稿、跨路由轻量状态传递
- 不能替代
localStorage或后端 session 做长期/安全存储 - 不兼容私密模式下某些浏览器的 sessionStorage 行为(如 Safari 可能提前清空)
手动实现带时间戳的 SessionStorage 封装
核心思路:写入时存时间戳,读取时比对当前时间与预设有效期(如 30 分钟),超时则视为无效并自动删除。
本文共计904个文字,预计阅读时间需要4分钟。
浏览器原生的 `sessionStorage` 不支持设置过期时间,也不自动清除过期数据。它仅在当前标签页生命周期内有效:
常见错误现象:sessionStorage.getItem('token') 在用户长时间未操作后仍返回旧值,导致权限校验失效或接口报 401;后台已踢出用户,前端却还在用过期 token 发请求。
- 使用场景:登录态临时缓存、表单草稿、跨路由轻量状态传递
- 不能替代
localStorage或后端 session 做长期/安全存储 - 不兼容私密模式下某些浏览器的 sessionStorage 行为(如 Safari 可能提前清空)
手动实现带时间戳的 SessionStorage 封装
核心思路:写入时存时间戳,读取时比对当前时间与预设有效期(如 30 分钟),超时则视为无效并自动删除。

