sessionStorage详解

sessionStorage详解待整理什么是 sessionStora 不同 tab 之间 sessionStora 是否共享 sessionStora 的数据会在同一网站的多个标签页之间共享吗 这取决于标签页如何打开什么是会话 window open 点击链接打开的页面 sessionStora 是否共享 原页面和 sessionstora 是否属于两个会话什么是顶级浏览器上下文 https html sp

sessionStorage可以使用setItem设置、getItem获取、removeItem删除、clear清空。具体详见MDN

MDN解释

sessionStorage 属性允许你访问一个 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。在新标签或窗口打开一个页面时会在顶级浏览上下文中初始化一个新的会话,这点和 session cookies 的运行方式不同。

可以看到sessionStorage在页面会话结束时会被清除,也就是讲一个页面上的sessionStorage在页面刷新或者恢复页面的时候都不会丢失或者被清空。

那一个域名下的sessionStorage 的数据会在同一网站的多个标签页之间共享吗?要解决这个问题,使用chrome测试了一下场景。

当在一个a页面有sessionStorage时,这时新增一个标签并输入与a页面相同的url。新的标签里面打开的页面是没有另一个标签页面里面的sessionStorage时。也就是讲,新标签是新的会话。

_blank: 在a页面点击链接或者使用window.open打开与a页面相同url的标签页面时,新标签页面sessionStorage继承自之前页面的sessionStorage,但是后续两个页面的sessionStorage是单独控制的。两个页面之间并无关联

结论

  1. 不同tab之间就算相同url,sessionStorage也是不会共享的。sessionStorage只存在于当前会话中。
  2. 使用window.open或者点击链接跳转的页面,新页面的sessionStorage会拷贝老页面的。但两者之间并无关联,还是两个会话。

参考

https://html.spec.whatwg.org/multipage/browsers.html#top-level-browsing-context

https://liyaoli.com/2015-03-12/HTML-iframe.html

https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

https://github.com/lmk123/blog/issues/66

https://segmentfault.com/a/10121

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206403.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午3:47
下一篇 2026年3月19日 下午3:47


相关推荐

  • PyTorch学习笔记(9)——nn.Conv2d和其中的padding策略

    PyTorch学习笔记(9)——nn.Conv2d和其中的padding策略一 Caffe Tensorflow 的 padding 策略在之前的转载过的一篇文章 tensorflowck 文件转 caffemodel 时遇到的坑 提到过 caffe 的 padding 方式和 tensorflow 的 padding 方式有很大的区别 输出无法对齐 这是为什么呢 下面简单回顾一下 卷积操作输出的形状计算公式是这样的 output shape image shap

    2026年3月19日
    3
  • matlab画柱状图和折线图放在一起的_matlab画三维柱状图详解

    matlab画柱状图和折线图放在一起的_matlab画三维柱状图详解种类用categorical函数定义柱状图上的数值用text补充上箭头用annotation函数画出柱状图的颜色由FaceColor决定

    2022年8月3日
    6
  • propertydescriptor是用来干什么的_constructor java

    propertydescriptor是用来干什么的_constructor java1、PropertyDescriptor简述PropertyDescriptor对象是位于java.beans包下的工具类,顾名思义为属性描述器,通常我们用于通过反射获取对象方法的时候,下面来看一下常用的用法吧!2、PropertyDescriptor用法(1)、给你一个java对象,你如何生成PropertyDescriptor对象呢?通常,我们会用到…

    2022年10月1日
    7
  • RIDE使用教程

    RIDE使用教程nbsp 此篇文章涉及三个内容 搭建 RobotFramewo 环境 建立第一个测试工程 编写过程中常见错误一 RobotFramewo 环境 附件 https pan baidu com s 1UPQ dWc0B9 tCISEECqXBQ 提取码 8s3v 1 安装 python2 7 1 python 官网上下载 2 7 11 版本 直接安装即可 记住你的 python 保存路径 安装

    2026年3月16日
    2
  • anaconda3运行ipynb文件_如何打开ipynb文件

    anaconda3运行ipynb文件_如何打开ipynb文件#1、在官网下安装Anaconda3#2、在Anaconda3下打开ipynb文件##(1)在开始菜单栏找到Anaconda3文件夹->单击【JupyterNotebook】##(2)

    2022年8月5日
    13
  • 激光SLAM算法学习(三)——3D激光SLAM

    激光SLAM算法学习(三)——3D激光SLAM3D激光SLAM1、3D激光SLAM的介绍3D激光SLAM的输入:IMU数据3D激光雷达数据里程计数据3D激光SLAM的输出:3D点云地图机器人的轨迹orPoseGraph2、3D激光SLAM的发展3D激光SLAM的帧间匹配方法——点云配准算法Point-to-PlaneICPFeature-basedMethod3D激光SLAM的回环检测方法Scan-to…

    2022年8月23日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号