从理论上讲 LocalStroage 内存更大,存储时间更为持久,作用域更大。那么SessionStroage有存在的必要吗?
有什么样的应该场景是必须用seessionStroage 而不能使用LocalStroage 的呢

首页seessionStroage 与 LocalStroage 相比具有的特点

1. 浏览器改变将失效

2.作用域只在单个页面,就是在浏览器用不同出窗口打开同一页面 ,SessionStroage 也不能通用。

初次接触发现 这些特点 好像都是缺点。但使用后发现使用SessionStroage 能避免一些BUG

比如 在一个购物车页面,对购物车的尺寸进行编辑。由于使用了 回调函数 导致全局变量无法正确传值。在这时可以 SessionStroage 或 LocalStroage 来代替全局变量。

为了 避免bug  在点击尺寸后 设置 SessionStroage 的值 ,在弹出的提示中 点击 确认 或取消 都会 移出 SessionStroage 的值。

BUG 1

但是在由于无法预料用户的操作 ,如果用户在 点击尺寸设置SessionStroage 之后 关闭浏览器 。这时 就会出现BUG

如果 是使用LocalStroage  值就会保留到 下次 打开页面,导致 尺寸不对。

BUG2

如果用户在点击尺寸,设置 SessionStroage 直接刷新页面,SessSionStroage 的值也会被保留 。

解决方法 在页面加载时 判断SessionStroage中是否有设置的尺寸值 ,如果有则移除

SessionStroage和locationStorage的思考的更多相关文章

  1. 领域驱动和MVVM应用于UWP开发的一些思考

    领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...

  2. 关于面试题 Array.indexof() 方法的实现及思考

    这是我在面试大公司时碰到的一个笔试题,当时自己云里雾里的胡写了一番,回头也曾思考过,最终没实现也就不了了之了. 昨天看到有网友说面试中也碰到过这个问题,我就重新思考了这个问题的实现方法. 对于想进大公 ...

  3. 关于 CSS 反射倒影的研究思考

    原文地址:https://css-tricks.com/state-css-reflections 译者:nzbin 友情提示:由于演示 demo 的兼容性,推荐火狐浏览.该文章篇幅较长,内容庞杂,有 ...

  4. 关于.NET参数传递方式的思考

    年关将近,整个人已经没有了工作和写作的激情,估计这个时候很多人跟我差不多,该相亲的相亲,该聚会喝酒的聚会喝酒,总之就是没有了干活的心思(我有很多想法,但就是叫不动我的手脚,所以我只能看着别人在做我想做 ...

  5. 使用NUnit为游戏项目编写高质量单元测试的思考

    0x00 单元测试Pro & Con 最近尝试在我参与的游戏项目中引入TDD(测试驱动开发)的开发模式,因此单元测试便变得十分必要.这篇博客就来聊一聊这段时间的感悟和想法.由于游戏开发和传统软 ...

  6. OpenGL shader 中关于顶点坐标值的思考

    今天工作中需要做一个事情: 在shader内部做一些空间距离上的计算,而且需要对所有的点进行计算,符合条件的显示,不符合条件的点不显示. 思路很简单,在vertex shader内知道顶点坐标,进行计 ...

  7. 关于领域驱动设计(DDD)中聚合设计的一些思考

    关于DDD的理论知识总结,可参考这篇文章. DDD社区官网上一篇关于聚合设计的几个原则的简单讨论: 文章地址:http://dddcommunity.org/library/vernon_2011/, ...

  8. 关于bug分析与异常处理的一些思考

    前言:工作三年了,工作内容主要是嵌入式软件开发和维护,用的语言是C,毕业后先在一家工业自动化控制公司工作两年半,目前在一家医疗仪器公司担任嵌入式软件开发工作.软件开发中,难免不产生bug:产品交付客户 ...

  9. 【数据库】_由2000W多条开房数据引发的思考、实践----给在校生的一个真实【练耙场】,同学们,来开始一次伟大的尝试吧。

      ×   缘起---闲逛博客园 前几天的时候,在某一QQ群看到一条消息“XXX酒店开房XXXBTXX迅雷BT下载”,当时是一目十行的心态浏览,目光掠过时, 第一反应我想多了~以为是XX种子(你懂的~ ...

随机推荐

  1. QTreeView/QTableView中利用QStandardItem实现复选框三种形态变化

    https://www.techieliang.com/2017/12/729/ 原文地址 using_checkbox_item.h /** * @file using_checkbox_item. ...

  2. MySQL两个表联合查询并按时间排序

    有一张资金记录表,一张金币记录表,想以时间为单位,降序合并排列他们之间的信息,查询SQL如下: select * from (select * from t_money_logs union sele ...

  3. Docker Toolbox更换镜像源并下载centos7

  4. MVC框架以及实例(补充)

    此文是MVC框架以及实例(http://www.cnblogs.com/justmaomao/p/6739065.html)的补充部分 以下简单介绍简单登录的相关内容 1)在login.jsp中待提交 ...

  5. 关于webWorker的理解和简单例子

    一.理解 当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成. web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能.您可以继续做任何愿 ...

  6. 打通版微社区(2):服务器部署MySql数据库 For DZ3.2

    写在前面:单独写部署MySql原因是,我这边的应用数据库都是独立存在的,数据与应用分别部署在不同的服务器.另外我也没有实际部署MySql的经验,特意写一篇日志,张记性.安装MySql参考了http:/ ...

  7. APRoundedButton

    APRoundedButton https://github.com/elpsk/APRoundedButton 效果: 源码: APRoundedButton.h // // Created by ...

  8. npm WARN network …… request to https://cnpmjs.…… failed, reason: socket hang up

    出现类似问题的原因是由于之前配置了镜像导致的 解决方案:删掉镜像,使用npm本身进行安装 删除镜像的命令: 方法1: npm config delete registry 方法2: npm confi ...

  9. apt 安装 Oracle Java JDK

    apt 安装 Oracle Java JDK 8/10 "Linux Uprising"团队维护一个PPA存储库,其中包含适用于所有当前Ubuntu版本的Oracle Java 1 ...

  10. python将字符串转变成dict格式

    字符串的内容是字典,需将字符串转变成字典格式 s1 = '{"lid":2,"date":"20190211","type&quo ...