×
新网 > 域名资讯 > 正文

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

摘要: sessionStorage和localStorage一直都只知道理论知识,也不知道什么时候需要用,怎样用?因为需求,今日终于实践一番,明白了它的用途!

 

源于需求的不断变化,就会想到在一个网站中,多个页面怎样进行数据的传递?比如首页的某个状态或者信息在其他页面做逻辑判断时需要使用到该怎么办?这也就是页面间进行数据传递,很好,sessionStorage和localStorage就是存储数据的,一个是会话存储,一个是本地存储,区别想必也和容易理解。

0fcf8edafdc4e4e60e069a612fec1e8.png

先介绍关系,再上代码。

联系:

(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始终存在,直到人为删除数据。

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading