关于sessionStorage

1、前言

我们都知道localStorage和sessionStorage的最大区别是生命周期的不同,localStorage除非用户主动清除,否则会一直保存在本地,而sessionStorage会随窗口的关闭而被自动清除。

2、传统的session和cookie

从我们经常接触的session和cookie来讲,Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。一般情况下,只要在当前浏览器,不管打开多少标签页,都会被认为是同一个session,当前为登录状态时,复制当前链接到新标签打开也是登录状态。

3、sessionStorage中的 “session”

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

正确:刷新当前页面,或者通过location.href、window.open、或者通过带target=”_blank”的a标签打开新标签,之前的sessionStorage还在,但是如果你是主动打开一个新窗口或者新标签,sessionStorage的数据是不会携带过去的。同时,新标签页对sessionStorage数据的修改不会影响旧标签页。

综上,一般情况下根据具体需求选择合适的会话存储方案

原创文章,作者:witersen,如若转载,请注明出处:https://www.witersen.com

(1)
witersen的头像witersen
上一篇 2021年1月25日 上午10:20
下一篇 2021年1月28日 下午12:13

相关推荐

  • 从Vue赋值问题到JavaScript深拷贝

    最近做Vue的项目发现这样的现象:对象间进行赋值操作后,原对象数据会随赋值后的对象数据值的变化而变化。如图一图二所示: 上图的代码实现逻辑是,点击编辑,将A对象(表格数据)的值赋值…

    2021年1月28日
    1.1K0

发表回复

登录后才能评论