sessionStorage的清除时机是在会话结束,会话结束是在用户关闭标签页或者关闭窗口的时候;手动新开一个标签或窗口时,会新开会话,即使链接一样,也不会共享sessionStorage

只有在下面情况1的时候,新开页面才能'共享'sessionStorage

场景1:如果用户在A页面下存储了test,通过js或者a标签跳转到同源的B页面时,A页面下的sessionStorage会被拷贝到B页面下,AB页面的sessionStorage虽然相同,但二者相互独立;另外如果用户在A页面下存储了test,通过js或者a标签跳转到不同源的B页面时,尽管还是在同一标签页下,但是在B页面获取不到test项。

场景2:如果用户在A页面打开的情况下,手动打开了一个新标签页,访问A页面,此时会重开一个新回话,二者sessionStorage是不共享的。

sessionStorage与localStorage的区别:

localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据;

sessionStorage 数据在当前浏览器窗口关闭后自动删除。

因此sessionStorage 和 localStorage 的主要区别在于他们存储数据的生命周期,sessionStorage 存储的数据的生命周期是一个会话,而 localStorage存储的数据的生命周期是永久,除非主动删除数据,否则永远不会过期

参考链接:https://segmentfault.com/a/1190000020895002

sessionStorage细节相关推荐

  1. 关于localStorage和sessionStorage存储用法的一些细节说明----------localStorage和sessionStorage存储必须字符串化...

    localStorage 和 sessionStorage 基本用法基本一致:localStorage需要会长时间保存,而sessionStorage会保存在当前对话框,会随着创库的关闭而被清除, 存 ...

  2. Web数据存储之localStorage和sessionStorage

    Web数据存储之localStorage和sessionStorage 学习前端以来,自己了解有localStorage和sessionStorage的相关存储的知识,也有实践过,但是之前只限于能用的 ...

  3. sessionStorage什么时候失效

    最近在调试程序的时候无意间看到 cookie 的过期时间是 session,这个 session 表示的是什么时候过期?牵扯出来另一个存储方案 sessionStorage 存储的数据又是什么时候过期 ...

  4. sessionStorage.setItem

    记录易错细节 页面临时缓存数据 window.sessionStorage.setItem('myFlag',false) 页面取值缓存 let myFlag = window.sessionStor ...

  5. 浏览器存储(cookie、localStorage、sessionStorage)

    区别 cookie在浏览器请求中每次都会附加请求头中发送给服务器.用户代理(一般值浏览器)所实现的大小最少要到达4096字节(感谢@lulianqi15的指正) localStorage保存数据会一直 ...

  6. C语言程序设计 细节总结(第1-7章)

    C语言细节总结 温故而知新,许久没看C语言,发现了一些从前没注意的小细节,总结下来~ 第1章C语言及C程序概述 1.C语言有34种运算符.32个关键字.9种控制语句 第2章数据类型.运算符与表达式 2 ...

  7. SSD(Single shot multibox detector)目标检测模型架构和设计细节分析

    先给出论文链接:SSD: Single Shot MultiBox Detector 本文将对SSD中一些难以理解的细节做仔细分析,包括了default box和ground truth的结合,def ...

  8. pythonurllib标准_Python标准库urllib2的一些使用细节总结

    Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库.这里总结了一些 urllib2 的使用细节. 1.Pr ...

  9. 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节

    C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...

最新文章

  1. ios开发学习-手势交互(Gesture)效果源码分享
  2. AspNetPager7.2的基本使用
  3. UI组件之AdapterView及其子类(四)Gallery画廊控件使用
  4. C语言标准字符char和字符串string
  5. cocos2dx游戏--欢欢英雄传说--添加游戏背景
  6. 企业级rancher搭建Kubernetes(采用rancher管理平台搭建k8s)
  7. 如何确定线程池核心数的最佳值?
  8. 职业生涯规划书-前端
  9. MFC对话框标题栏颜色自绘,标题栏由过渡色组成,自绘关闭按钮
  10. 液滴模板水凝胶的温度控制形状变化(定制PNIPA/膨润土复合水凝胶/聚乙烯醇/魔芋胶复合凝胶/海藻酸钠(SA)/氧化石墨烯(GO)复合水凝胶/壳聚糖(CS)-g-PAM/氧化石墨烯(GO)复合水凝胶)
  11. R语言—90分钟从入门到精通
  12. 偶得李春芬先生书信一函
  13. 使用Python实现Linux命令的批量执行
  14. 机场生产运行数据统计指标-第二篇-航班类
  15. 【HTML基础】HTML文字效果标签+超齐全颜色表(可直接复制使用)
  16. 百度云加速 ajax,百度云加速或360网站卫士关于WordPress评论缓存的巧妙设置
  17. 医院网络营销到底该怎么做
  18. java-初识大前端Node.js、ES6、Npm、Babel、模块化规范、WebPack、Vue-element-admin本地安装问题及解决、Git安装及配置、uni-app
  19. pip install mysqlclient安装
  20. 【职业规划】阿里校园招聘对java本科生的要求

热门文章

  1. 图形处理(六)拖拽式网格融合-Siggraph 2010
  2. TLD(Tracking-Learning-Detection)学习与源码理解之(二)
  3. 编程之美-数组分割方法整理
  4. 《分布式操作系统》知识点(29~34)五
  5. .NET 中 如果一个Task A正在await另一个Task B,那么Task A是什么状态
  6. 论IP地址在数据库中应该用何种形式存储
  7. 用命令行执行ROBOT FRAMEWORK
  8. [转载]Office Visio快捷键
  9. OpenStack环境下nova resize报ssh连接错误
  10. 第三课时:PowerDesigner15基本操作