sessionStorage对象

server/2025/3/10 3:02:10/

在Web开发中,sessionStorage 对象是Web Storage API的一部分,它允许你在浏览器会话期间存储数据。与 localStorage 不同,sessionStorage 存储的数据只在当前的会话(即浏览器标签页或窗口)中有效,当用户关闭了标签页或窗口,存储的数据就会被清除。

一.基本用法

1.存储数据

使用 setItem 方法来存储数据。例如,存储一个键值对:

javascript">sessionStorage.setItem('key', 'value');

2.读取数据

使用 getItem 方法来读取数据。例如,获取上面存储的 key 的值:

javascript">var value = sessionStorage.getItem('key');
console.log(value); // 输出: value

3.删除数据

使用 removeItem 方法来删除特定的键值对。例如,删除上面存储的 key

javascript">sessionStorage.removeItem('key');

4.清空所有数据

使用 clear 方法来清空 sessionStorage 中的所有数据:

javascript">sessionStorage.clear();

二.示例:

javascript">// 存储数据
sessionStorage.setItem('username', 'JohnDoe');// 读取数据
var username = sessionStorage.getItem('username');
console.log(username); // 输出: JohnDoe// 删除数据
sessionStorage.removeItem('username');
username = sessionStorage.getItem('username'); // 此时将返回 null,因为该键已被删除
console.log(username); // 输出: null// 清空所有数据
sessionStorage.setItem('key1', 'value1');
sessionStorage.setItem('key2', 'value2');
sessionStorage.clear(); // 现在 sessionStorage 是空的
console.log(sessionStorage.length); // 输出: 0,表示没有存储任何项

三.注意事项

  • 存储限制:每个域名的存储空间限制大约为5MB(具体限制可能因浏览器而异)。

  • 跨标签页/窗口sessionStorage 数据是针对每个浏览器标签页或窗口独立的。如果你在一个标签页中设置了数据,然后在另一个标签页中访问同一个域,你将无法访问到这些数据。但是,如果你在同一个标签页的不同iframe中设置和访问 sessionStorage,它们是可以共享的。

  • 安全性:虽然 sessionStorage 提供了一种方便的方式来存储会话级别的数据,但它不应该用来存储敏感信息。因为一旦用户关闭了浏览器标签页或窗口,所有数据都将丢失。对于需要持久化存储的数据,应使用 localStorage 或服务器端的存储解决方案。

  • 兼容性:大多数现代浏览器都支持 sessionStorage,但在某些旧版浏览器中可能不可用。可以通过检查 sessionStorage 是否存在来确保兼容性:

    javascript">if (typeof(Storage) !== "undefined") {// Code for localStorage/sessionStorage.
    } else {// Sorry! No Web Storage support..
    }


http://www.ppmy.cn/server/173828.html

相关文章

python 程序一次启动有两个进程的问题(flask)

0. 背景 写了一个使用 flask 作为服务框架的程序,发现每次启动程序的时候,使用 ps 都能观察到两个 python 进程。 此外,这个程序占用了 GPU 资源,我发现有两个 python 进程,分别占用了完全相同的 GPU 显存 1. 原因 …

2025 年开源替代方案为何正在取代 OutSystems?技术自由度与成本优势深度解析

原文链接:https://www.nocobase.com/cn/blog/outsystems-open-source-alternatives OutSystems 的隐藏成本不只是金钱 OutSystems 是企业低代码开发领域的领军者。通过将生成式 AI 工具深度集成到软件生命周期,OutSystems 助力企业快速构建客户导向的门…

【UI自动化技术思路分析】【总纲】UI自动化代码完整设计思路

一、自动化框架散装思路 🔖 代码结构如下所示 🗂️ UIAutomationTools:UI自动化操作工具 📁 app: 业务功能代码 ui_automation.py:为 Android 设备提供 UI 自动化操作的工具类 📁 case&#…

鸿蒙生态日日新,鸿蒙原生版支付宝下载量突破230万

鸿蒙生态日日新PLOG:鸿蒙原生版支付宝下载量突破230万,持续迭代性能提升15%,越来越好用;掌上生活、美柚等多款应用功能更新。

vue知识点(1)

ref和reactive的区别 ref 用途:用于创建一个响应式的基本类型(string、number、boolean)或者引用类型(object、array)的数据。 返回值:返回一个带有.value属性的对象,访问或者修改数据时需要通…

大白话 CSS 中transform属性的常见变换类型(平移、旋转、缩放等)及使用场景

大白话 CSS 中transform属性的常见变换类型(平移、旋转、缩放等)及使用场景 答题思路 先解释 transform 属性是啥:让大家明白 transform 是 CSS 里用来对元素进行变形操作的一个属性,就像有个神奇的工具能改变元素的样子。分别介…

【2025】基于Python+Django的酒店民宿预订管理系统(源码+调试+答疑+学习资料)

目录 一、项目介绍: 二、文档学习资料: 三、模块截图: 四、开发技术与运行环境: 五、代码展示: 六、数据库表截图: 该项目含有源码、文档、PPT、图文修改教程、配套开发软件、软件安装教程、项目发布教…

setlocale()的参数,“zh_CN.UTF-8“, “chs“, “chinese-simplified“的差异。

在 C/C 中,setlocale() 函数的参数 zh_CN.UTF-8、chs 和 chinese-simplified 均用于设置中文简体环境,但它们的语义、平台支持和编码行为存在显著差异: ​1. zh_CN.UTF-8(推荐)​ ​含义: zh_CN: 中文&…