sessionStorage保存数据以便页面间进行数据传递

发布时间:2024-02-02
源于需求的不断变化,就会想到在一个网站中,多个页面怎样进行数据的传递?比如首页的某个状态或者信息在其他页面做逻辑判断时需要使用到该怎么办?这也就是页面间进行数据传递,很好,sessionstorage和localstorage就是存储数据的,一个是会话存储,一个是本地存储,区别想必也和容易理解。
先介绍关系,再上代码。
联系:
(1)localstorage和sessionstorage一样都是用来存储客户端临时信息的对象。
(2)均只能存储字符串类型的对象。
(3)不同浏览器无法共享localstorage或sessionstorage中的信息。相同浏览器的不同页面间可以共享相同的localstorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionstorage的信息。这里需要注意的是,页面及标签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionstorage的。
同源:域名,协议,端口相同。
区别:
sessionstorage:生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionstorage存储的数据也就被清空了。
localstorage:生命周期是永久,这意味着除非用户显示在浏览器提供的ui上清除localstorage信息,否则这些信息将永远存在。
代码:
session操作:
//首页js部分的session操作: sessionstorage.setitem(\\\’state\\\’,\\\’1\\\’); sessionstorage.getitem(\\\’state\\\’); console.log(sessionstorage.getitem(\\\’state\\\’));// 1
//另一页面的session操作 var getstate = sessionstorage.getitem(\\\’state\\\’); console.log(getstate); // 1
local操作:
?//首页js部分的local操作: localstorage.setitem(\\\’state\\\’,\\\’1\\\’); localstorage.getitem(\\\’state\\\’); console.log(localstorage.getitem(\\\’state\\\’));// 1 ?
//另一页面的local操作 var getstate = localstorage.getitem(\\\’state\\\’); console.log(getstate); // 1
很简单,就这样已经实现了存储和传递。在控制台中application查看,可以发现session storage中state在浏览器没有关闭时数据始终存在,关闭之后清空。而local storage中state始终存在,直到人为删除数据。
上一个:我的世界盒子电脑版游戏+mod(电脑版快把我的世界盒子怎么下载)
下一个:父母房产继承协议怎么写

全桥式开关电源的优点和缺点
6kw汽油发电机\TO7100ETD
民法典无效合同的规定是什么?
心仪的域名 都被注册了怎么办?域名被注册了怎么抢回来?
金属拉伸试验机
腐竹可以和哪些菜搭配炒 腐竹的烹饪方法
买了两张1T的三星固态
但需要根据具体的工作环境和测量要求进行选择
玻璃转子流量计和金属转子流量计的使用区别
离职协议有法律效力吗?