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

源于需求的不断变化,就会想到在一个网站中,多个页面怎样进行数据的传递?比如首页的某个状态或者信息在其他页面做逻辑判断时需要使用到该怎么办?这也就是页面间进行数据传递,很好,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始终存在,直到人为删除数据。


本文标题:sessionStorage保存数据以便页面间进行数据传递
浏览路径:http://ybzwz.com/article/cjdgci.html