sessionStorage的使用

先介绍一下localStorage

localStorage对象是HTML5的客户端存储持久化数据的方案。为了能访问到同一个localStorage对象,页面必须来自同一个域名,使用同一种协议,在同一个端口上。

过期策略:localstorage永久存储,不过期,除非手动删除,sessionstorage在重启浏览器、关闭页面或新开页面时失效。

localStorage是Storage类型的实例。有以下的几种方法:

①clear():删除所有值。

②getItem(name):根据指定的名字name获取对应的值

③key(index):在指定的数字位置获取该位置的名字。

④removeItem(name):删除由name指定的名值对

⑤setItem(name,value):为指定名字设置一个对应的值

localStorage对象可以通过点号调用这些方法。

例:使用方法来存储数据

localStorage.setItem("name","songyuhua");//这样就用localStorage存储了一个名字为name的数据,数据的内容为 “songyuhua"

使用方法来读取数据

localStorage.getItem("name");//这样就读取了名字为“name”的数据的值。

有时候,我们需要将数据存储到sessionStorage和localStorage中,这样做的好处有:

1 缓存数据

2 减少对内存的占用

storage只能存储字符串类型的数据,我们要在使用的时候,把数据格式转化为字符串。如下图,再设置前将数据转化为字符串,再设置。

localStorage是同样的处理方式,其次其他方式,数组,对象其他格式都可以使用转化为字符串。

HTML5中的这个sessionStorage和传统后台的session并不完全是同一个东西,主要是在多个标签页数据是否会共享的问题上的不同。

误区:之前一直以为,同一个窗口,只要会话还没有过期,不同标签页之间,相同域名下的sessionStorage是一样的。

正确答案:刷新当前页面,或者通过location.href、window.open、或者通过带target="_blank"的a标签打开新标签,之前的sessionStorage还在,但是如果你是主动打开一个新窗口或者新标签,

通过带target="_blank"的A标签、window.open等方式打开新窗口时,会把旧窗口(或标签)的sessionStorage数据带过去,但从此之后,新窗口(或标签)的sessionStorage的增删改和旧窗口已经没有关系了,如果只是在当前标签内跳转新页面(或者刷新),数据还会保留(前提当然是同域)。

总之,在处理sessionStorage时,只要打开新窗口就要特别注意了,新旧窗口数据不会互相同步。

此外,sessionStorage在域名不同的地方是无法共用同一套缓存信息的,使用的时候请注意。

本文分享自微信公众号 - Java程序员那些事(zgsoft44)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云技术+云运维

Vcenter 无法使用已授权的域账号登陆的解决

在Vmware vcenter中,为域账号vmadmin添加管理员权限,并将权限传播到子对象。尝试使用 vSphere Client 或 vSphere Web...

9110
来自专栏Node开发

NodeJS有难度的面试题(8000字长文)

所有的模块都是 Module 的实例。可以看到,当前模块(module.js)也是 Module 的一个实例。

17520
来自专栏云技术+云运维

windows远程桌面函数无效和RDS报错的典型案例分析

windows远程桌面是大家用的比较多的一个服务,经常会遇到一些这样那样的错误,下面我们就2个典型案例分析一下。 一、远程桌面,身份验证错误:要求的函数不受支持...

10910
来自专栏一番码客

超全整理-运营工具汇总

问卷、报名、登记、预约、订单,甚至是考试表单制作,表单数据收集,可以设置简单逻辑。

15530
来自专栏网络通讯杂谈

【普】静态IP和动态IP有什么区别?

    动态IP和静态IP的区别在于:动态IP需要在连接网络时自动获取IP地址以供用户正常上网,而静态IP是ISP在装机时分配给用户的IP地址,可以直接连接上...

12920
来自专栏白安全组

批量拿站教程

写这篇文章的原因是因为现在很多有了一些基础的小伙伴,已经对自己在虚拟机上搭建的靶机感到无趣了,想去平常的网站上试一试自己的网络技术。这个时候批量拿站就显得尤为重...

20810
来自专栏云技术+云运维

巧用WINDOWS IP安全策略

windows服务器的安全可以通过设定IP安全策略来得到一定的保护,对于每个Windows系统运维人员来说IP安全策略是必备的技能之一。

7010
来自专栏Java大联盟

新手福利,通过一个简单示例快速上手Spring Boot+Vue前后端分离

Vue + Element UI 并不是真正的前后端分离,它只有前端服务,并没有后端服务提供数据接口,很多小伙伴在后台留言希望楠哥能写一篇完整的 Spring ...

9920
来自专栏云技术+云运维

vmware收集日志相关

 VMware 中收集诊断信息,可能包含来自 ESXi 主机和 vCenter Server 的支持包。在主机支持包中收集的数据可能被视为敏感数据。另外,从 v...

6810
来自专栏PHP专享栏

PHP漏洞之-Session劫持

服务端和客户端之间是通过session(会话)来连接沟通。当客户端的浏览器连接到服务器后,服务器就会建立一个该用户的session。每个用户的session都是...

12720

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励