当前位置: 首页 > news >正文

前端中的LocalStorage和SessionStorage

在前端开发中,常常需要在浏览器端保存数据,以便在页面刷新或跳转时能够保留数据或状态。在这种情况下,可以使用Web Storage API中的LocalStorage和SessionStorage来实现数据的存储。它们都是HTML5提供的本地存储解决方案,可以在浏览器端临时或长期保存数据,而不需要发送到服务器。

LocalStorage和SessionStorage的区别

  1. 数据生命周期:

    • LocalStorage:数据会永久保存,除非用户手动清除或通过代码删除。
    • SessionStorage:数据只在当前会话期间有效,当用户关闭浏览器窗口或标签页时会自动清除。
  2. 作用域:

    • LocalStorage:数据在同源的所有页面共享,即在相同的协议、域名和端口下,不同页面之间可以共享LocalStoage中的数据。
    • SessionStorage:数据只在同一个标签页或窗口的同一个页面会话中共享,不同页面之间无法共享SessionStorage中的数据。
  3. 存储大小:

    • LocalStorage:通常比SessionStorage的容量更大,可以存储几MB的数据(根据浏览器的限制)。
    • SessionStorage:通常比LocalStorage的容量小,一般在几MB以下。
  4. 数据存储时效性:

    • LocalStorage:数据不会过期,除非用户手动删除或代码清除。
    • SessionStorage:数据在当前会话期间有效,一旦用户关闭标签页或浏览器窗口,数据将被清除。

LocalStorage的使用

LocalStorage可以在同一个域名下的所有页面中共享数据,它的API很简单:

  • 存储数据:

// 设置数据,键名为"key",键值为"value"
localStorage.setItem("key", "value");
  • 获取数据:

// 根据键名获取数据
const data = localStorage.getItem("key");
  • 删除数据:

// 根据键名删除数据
localStorage.removeItem("key");
  • 清空所有数据:

// 清空所有LocalStorage中的数据
localStorage.clear();

SessionStorage的使用

SessionStorage只在当前会话期间有效,当用户关闭标签页或浏览器窗口时会自动清除数据。使用SessionStorage的API与LocalStorage相似:

  • 存储数据:

// 设置数据,键名为"key",键值为"value"
sessionStorage.setItem("key", "value");
  • 获取数据:

// 根据键名获取数据
const data = sessionStorage.getItem("key");
  • 删除数据:

// 根据键名删除数据
sessionStorage.removeItem("key");
  • 清空所有数据:

// 根据键名删除数据
sessionStorage.removeItem("key");

注意事项

  • LocalStorage和SessionStorage只能存储字符串类型的数据。如果需要存储复杂数据类型(如对象或数组),需要先使用JSON.stringify()方法将数据转换为字符串,存储时使用字符串形式,取出后再使用JSON.parse()方法将字符串转换为对象或数组。
  • 在使用LocalStorage和SessionStorage时,要注意数据的安全性,不要存储敏感信息,以免泄露用户隐私。

总结

LocalStorage和SessionStorage是HTML5提供的本地存储解决方案,用于在浏览器端保存数据。它们的主要区别在于数据的生命周期、作用域和存储大小。LocalStorage适合用于永久性存储数据,而SessionStorage适合用于在会话期间保存临时数据。在使用时,要根据需求和场景选择合适的存储方式,以提高用户体验和数据安全性。

相关文章:

前端中的LocalStorage和SessionStorage

在前端开发中,常常需要在浏览器端保存数据,以便在页面刷新或跳转时能够保留数据或状态。在这种情况下,可以使用Web Storage API中的LocalStorage和SessionStorage来实现数据的存储。它们都是HTML5提供的本地存储解决方案,可以在浏…...

论文工具——写论文好用的绘图工具(甘特图+流程图+网络模型图+泳道图)

文章目录 引言正文手动画图的在线画图工具tldraw开源免费ProcessOnDraw.io 网络模型图工具NN-SVG设置参数自动生成Netron上传模型自动生成PlotNeuralNet编码生成 总结 引言 在写HiFi-GAN论文的代码阅读过程中,我发现仅仅通过文字来描述网络结构,不够详细…...

Vite构建的vue3项目修改网站标题和图标

1.准备一张.ico后缀的图片&#xff0c;这里推荐文件转换器&#xff0c;可以将常见的图片格式转为.ico格式图片。 2.修改网站标题和图标 网站的标题和图标都可以在项目根路径下的index.html下修改。 2.1 网站标题修改<title>标签体内容即可。 2.2 网站图标修改如图<…...

平安私人银行受邀慈善服务高质量发展会议,分享慈善规划服务

近日&#xff0c;中华慈善总会家风传承与慈善信托委员会成立仪式&#xff0c;以及由中华慈善总会、中国银行业协会联合发起的“慈善顾问赋能计划”启动仪式在北京举行。平安私人银行受邀参会并分享慈善规划服务&#xff0c;平安私人银行慈善业务总监王英及平安私人银行客户、“…...

MySQL主从复制、读写分离

一、前言二、主从复制原理2.1 MySQL复制类型2.2 MySQL主从复制工作过程2.3 MySQL的四种同步方式2.3.1 异步复制&#xff08;MySQL默认&#xff09;2.3.2 同步复制2.3.3 半同步复制&#xff08;企业常用&#xff09;2.3.4 增强半同步复制 2.4 MySQL主从复制延迟原因和优化方法2.…...

Redis配置与优化

目录 一、关系数据库与非关系型数据库 1、关系型数据库 2、非关系型数据库 3、关系型数据库和非关系型数据库区别 1、数据存储方式不同 2、扩展方式不同 3、对事务性的支持不同 二、Redis 1、简介 2、优点 3、缺点 4、使用场景 5、哪些数据适合放入缓存中 6、为什…...

leetCode刷题记录3-面试经典150题

文章目录 不要摆&#xff0c;没事干就刷题&#xff0c;只有好处&#xff0c;没有坏处&#xff0c;实在不行&#xff0c;看看竞赛题面试经典 150 题80. 删除有序数组中的重复项 II189. 轮转数组122. 买卖股票的最佳时机 II 不要摆&#xff0c;没事干就刷题&#xff0c;只有好处&…...

MySQL优化(面试)

文章目录 通信优化查询缓存语法解析及查询优化器查询优化器的策略 性能优化建议数据类型优化索引优化 优化关联查询优化limit分页对于varchar end mysql查询过程: 客户端向MySQL服务器发送一条查询请求服务器首先检查查询缓存&#xff0c;如果命中缓存&#xff0c;则立刻返回存…...

华为鸿蒙HarmonyOS4发布即巅峰,车机系统、多模态交互等实现突破

7 月 27 日最新消息&#xff0c;华为将于8月4日推出全新鸿蒙HarmonyOS 4.0&#xff0c;届时华为开发者大会也一并举行。 根据证券日报的报道&#xff0c;华为有关负责人在7月27日向媒体确认了以下消息。华为鸿蒙4.0将在汽车娱乐系统、多模态交互等领域实现重大突破&#xff0c;…...

Camtasia2023电脑录屏视频自动生成字幕软件

制作视频通常需要添加字幕&#xff0c;添加字幕比较麻烦的是让字幕和声音同步&#xff0c;使用好的软件可以大大提高剪辑效率&#xff0c;让视频更快制作完成。本文将给大家介绍录制视频自动生成字幕的软件设置字幕语音同步教程。 一、录屏视频自动生成字幕的软件 Camtasia是…...

List有值二次转换给其他对象报null

List<PlatformUsersData> listData platformUsersMapper.selectPlatformUserDataById(data); users.setPlatformUsersData(listData);为什么listData 有值&#xff0c;users.getPlatformUsersData&#xff08;&#xff09;仍然为空在这段代码中&#xff0c;我们假设listD…...

电脑新装系统优化,win10优化,win10美化

公司发了新的笔记本&#xff0c;分为几步做 1.系统优化,碍眼的关掉。防火墙关掉、页面美化 2.安装必备软件及驱动 3.数据迁移 4.开发环境配置 目录 目录复制 这里写目录标题 目录1.系统优化关掉底部菜单栏花里胡哨 2.安装必备软件及驱动新电脑安装360 1.系统优化 关掉底部菜单…...

实现PC端微信扫码native支付功能

目录 实现PC端微信扫码 简介 实现步骤 1. 获取商户号 2. 生成支付二维码 3. 监听支付结果 4. 发起支付请求 5. 处理支付回调 示例代码 结论 Native支付 Native支付的工作原理 Native支付的优势 Native支付的应用和市场地位 开通使用微信 native 支付流程 步骤一…...

MSP432自主开发笔记4:DS3115舵机的0~180全角度驱动

芯片使用&#xff1a;MSP432P401R. 今日学习一款全角度15KG大扭力舵机的驱动&#xff0c;最近电赛学习任务紧&#xff0c;更新一篇比较水的文章&#xff1a; 文章提供原理解释&#xff0c;全部代码&#xff0c;整体工程&#xff1a; 目录 舵机驱动原理: 这是舵机DS3115MG:…...

【Matlab】基于卷积神经网络的时间序列预测(Excel可直接替换数据)

【Matlab】基于卷积神经网络的时间序列预测(Excel可直接替换数据) 1.模型原理2.数学公式3.文件结构4.Excel数据5.分块代码6.完整代码7.运行结果1.模型原理 基于卷积神经网络(Convolutional Neural Network,CNN)的时间序列预测是一种用于处理时间序列数据的深度学习方法。…...

Ansible安装部署与应用

文章目录 一、ansible简介二、ansible 环境安装部署三、ansible 命令行模块3.1 command 模块3.2 shell 模块3.3 cron 模块3.4 user 模块3.5 group 模块3.6 copy 模块3.7 file 模块3.8 hostname 模块3.9 ping 模块3.10 yum 模块3.11 service/systemd 模块3.12 script 模块3.13 m…...

重生之我要学C++第四天

这篇文章的主要内容是类的默认成员函数。如果对大家有用的话&#xff0c;希望大家三连支持&#xff0c;博主会继续努力&#xff01; 目录 一.类的默认成员函数 二.构造函数 三.析构函数 四.拷贝构造函数 五.运算符重载 一.类的默认成员函数 如果一个类中什么成员都没有&…...

创建一个简单的 Servlet 项目

目录 1.首先创建一个 Maven 项目 2.配置 maven 仓库地址 3.添加引用 4.配置路由文件 web.xml 5.编写简单的代码 6.配置 Tomcat 7.写入名称,点击确定即可 8.访问 1.首先创建一个 Maven 项目 2.配置 maven 仓库地址 3.添加引用 https://mvnrepository.com/ 中央仓库地址…...

godot引擎c++源码深度解析系列一

许久没有使用c开发过项目了&#xff0c;如果按照此时单位的入职要求&#xff0c;必须拥有项目经验的话&#xff0c;那我就得回到十多年前&#xff0c;大学的时代&#xff0c;哪个时候真好&#xff0c;电脑没有这么普及&#xff0c;手机没有这么智能&#xff0c;网络没有这么发达…...

【VB6|第21期】检查SqlServer数据库置疑损坏的小工具(含源码)

日期&#xff1a;2023年7月25日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…...

全志Tiger-ISP调试工具安装与使用全攻略

1. 全志Tiger-ISP调试工具入门指南 第一次接触全志Tiger-ISP调试工具时&#xff0c;我也是一头雾水。这个工具主要用于图像信号处理器(ISP)的调试和优化&#xff0c;是开发智能摄像头、行车记录仪等视觉设备的必备利器。简单来说&#xff0c;它能让你像调色师一样精细调整图像的…...

精准定位CPU核心稳定性:CoreCycler单核心测试全指南

精准定位CPU核心稳定性&#xff1a;CoreCycler单核心测试全指南 【免费下载链接】corecycler Script to test single core stability, e.g. for PBO & Curve Optimizer on AMD Ryzen or overclocking/undervolting on Intel processors 项目地址: https://gitcode.com/gh…...

Tao-8k处理长文本技术详解:突破上下文窗口限制

Tao-8k处理长文本技术详解&#xff1a;突破上下文窗口限制 你是不是也遇到过这样的烦恼&#xff1f;想把一篇几十页的行业报告丢给AI&#xff0c;让它帮你总结要点&#xff0c;结果它告诉你“文本太长了&#xff0c;我处理不了”。或者&#xff0c;你希望AI能帮你分析一个完整…...

Pixel Couplet Gen完整指南:从GitHub Fork到微信小程序上线的像素春联项目闭环

Pixel Couplet Gen完整指南&#xff1a;从GitHub Fork到微信小程序上线的像素春联项目闭环 1. 项目介绍与核心价值 Pixel Couplet Gen是一款融合AI技术与复古游戏美学的创新应用&#xff0c;它将传统春联创作带入了数字时代。这个项目最吸引人的特点是&#xff1a; 8-bit像素…...

intv_ai_mk11一文详解:7B参数轻量级开源对话模型在中小团队中的降本增效实践

intv_ai_mk11一文详解&#xff1a;7B参数轻量级开源对话模型在中小团队中的降本增效实践 1. 轻量级AI对话助手的价值定位 在中小团队的实际运营中&#xff0c;专业AI助手的引入往往面临两大难题&#xff1a;高昂的部署成本和复杂的技术门槛。intv_ai_mk11作为7B参数的轻量级开…...

Phi-4-mini-reasoning vLLM服务加固:限流熔断、输入清洗、输出长度约束配置

Phi-4-mini-reasoning vLLM服务加固&#xff1a;限流熔断、输入清洗、输出长度约束配置 1. 模型服务概述 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型&#xff0c;专注于高质量、密集推理的数据&#xff0c;并进一步微调以提高更高级的数学推理能力。该模型…...

别再浪费手机性能了!Blackmagic Camera 搭配 LUT 滤镜包,解锁夜景和人物拍摄的隐藏技巧

Blackmagic Camera 与 LUT 滤镜包&#xff1a;解锁手机摄影的隐藏潜力 手机摄影早已不再是简单的记录工具&#xff0c;而是可以创作出专业级影像的利器。对于追求画质的摄影爱好者和小型工作室来说&#xff0c;Blackmagic Camera 这款专业级拍摄应用配合精心调校的 LUT 滤镜包&…...

利用快马平台与openclaw切换模型功能,快速构建待办事项应用原型

最近在尝试快速构建一个待办事项应用的原型时&#xff0c;发现InsCode(快马)平台的AI代码生成功能特别适合这种场景。通过平台内置的openclaw切换模型功能&#xff0c;可以快速比较不同AI模型生成的代码风格差异&#xff0c;大大缩短了原型开发周期。下面分享下我的实践过程&am…...

根据给定文本内容,适合的标题可以是:“‘三泵排水电气控制系统及组态设计的梯形图、接线图原理图”...

自动排水控制设计3泵排水三泵排水电气控制系统排水组态 我们主要的后发送的产品有&#xff0c;带解释的梯形图接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面每逢暴雨天&#xff0c;物业师傅盯着排水泵的手机都要刷出火星子——生怕哪台泵罢工&#xff0c;地下室直…...

企业AI定制开发:以工业场景为核心,赋能全行业数智化转型

在人工智能与实体经济深度融合的趋势下&#xff0c;标准化AI产品难以适配企业差异化业务流程&#xff0c;定制化AI开发成为企业数智化转型的关键路径。山东向量空间人工智能科技有限公司依托JBoltAI企业级Java AI应用开发框架&#xff0c;聚焦工业领域AI改造&#xff0c;同时为…...