SSF0SSF0
首页
前端
  • Node
  • Go
  • C#
  • MySql
  • Bash
  • Git
  • Docker
  • VuePress
  • CI/CD
  • 服务器
  • 网站
  • 学习资料
  • 软件
Timeline
Github
标签
分类
首页
前端
  • Node
  • Go
  • C#
  • MySql
  • Bash
  • Git
  • Docker
  • VuePress
  • CI/CD
  • 服务器
  • 网站
  • 学习资料
  • 软件
Timeline
Github
标签
分类
  • HTML

    • html1
    • html2
  • CSS

    • Flex 布局常见问题与解决方案
  • JavaScript

    • 数据类型及引用问题
    • 处理 Blob 类型文件下载问题总结
    • localStorage 与 sessionStorage 区别
    • JavaScript 中的 script 标签问题详解
    • JavaScript 中的`this`指向问题详解
    • SessionStorage踩坑记录:它真的能"只设置一次"吗?
    • 动态加载 JS 脚本方法对比
    • 浏览器页面关闭场景下的数据上报
  • es6

    • Promise
    • es6 模块导出方式全解析
  • Vue2

    • created VS mounted 发起异步请求
    • vue2-2
  • Vue3

    • Vite + Vue3 修改 element-plus 源码
    • Vue v-if 与 v-show
    • Vue3 ref 获取组件
    • Vue3 路由传参
    • 父子组件与组件里 Hooks 加载顺序
    • 第三方组件传入参数TS提示
    • Vue3 Props 在 Hooks 中的响应性处理
    • Vue Router 的两种历史模式及部署配置详解
    • 在Vue 3项目中顺利集成Tailwind CSS的完整指南
    • Vue 3 深度选择器:deep()完全指南
  • Electron

    • 快速构建 electron + vue3 项目
  • TS

    • TS 泛型
    • 记录模板使用断言的问题
    • type 与 interface
  • WebPack

    • Webpack 介绍
  • Vite

    • Vite CLI 常见命令
    • vite 与 webpack 比较
  • 项目工程

    • 前端代码风格
    • Vue3 项目规范
    • npm 镜像问题
    • 包管理工具
    • 使用 engines 限制开发环境依赖
    • 打包与shell交互指定模式
    • 使用 pnpm 构建 Monorepo 实战指南
    • pnpm 修改依赖源码打包报错
  • 记录一下小程序
  • 控制浏览器正确保存网站账号密码的技巧

localStorage 与 sessionStorage 区别

生命周期

  • localStorage:

    • 数据是持久化的。

    • 除非手动清空或代码删除,否则即使浏览器关闭后再次打开,数据仍然存在。

  • sessionStorage:

    • 数据仅在当前浏览器的标签页或窗口会话期间有效。

    • 一旦关闭该标签页或窗口,数据会被清除。

    • 页面刷新不会清除数据。

作用范围 🌟🌟🌟

  • localStorage:

    • 作用于 同源下的所有标签页和窗口。

    • 共享同一个协议、域名、端口下的所有页面。

  • sessionStorage:

    • 作用于 当前标签页或窗口的会话。

    • 不同的标签页或窗口,即使是同源,也有独立的 sessionStorage 实例。

同源策略 🌟🌟🌟

  • 相同点:

    • 两者都遵循 同源策略,即只有协议、域名、端口都相同的页面,才能访问同一存储。
  • 隔离场景:

    • 不同子域名(如 a.example.com 和 b.example.com)。

    • 不同协议(如 http://example.com 和 https://example.com)。

    • 不同端口(如 https://example.com:8080 和 https://example.com)。

数据大小

  • 两者限制:

    • 数据大小通常为 5MB 左右(不同浏览器可能略有差异)。

    • 不适合存储大规模数据。

适用场景

  • localStorage:

    • 适合需要长期存储的数据,例如用户设置、偏好、访问令牌等。
  • sessionStorage:

    • 适合短期、会话级别的数据,例如表单临时数据、步骤状态等。

总结对比表

特性localStoragesessionStorage
生命周期持久存储,浏览器关闭重启后仍保留,直到手动清除或清除浏览器数据限于当前会话,标签页或浏览器关闭后清除
作用范围同源下的所有标签页和窗口共享当前标签页或窗口独立,互不影响
同源限制需相同协议、域名、端口需相同协议、域名、端口
数据大小5-10MB(因浏览器而异)5-10MB(因浏览器而异)
适用场景长期存储用户数据(如用户设置、主题偏好)会话级别的临时数据(如表单数据)
最后更新时间:
贡献者: 何风顺
上一页
处理 Blob 类型文件下载问题总结
下一页
JavaScript 中的 script 标签问题详解