Javascript在页面

时间:2015-11-05 19:50:03

标签: javascript session-storage

我一直在尝试使用sessionStorage在页面中保存javascript变量。

据我了解,语法为:

sessionStorage.setItem('whateverkey', 'whatever value');

有没有办法在sessionStorage中保存变量,或者在页面之间保存信息的其他简单方法

提前致谢!

3 个答案:

答案 0 :(得分:1)

sessionStorage用于存储一个页面/选项卡的数据,一旦关闭它,您就会丢失数据,如果您打开另一个具有相同域的选项卡,您将有一个新的{{1干净。

您想要的是使用sessionStorage,它适用于所有标签(具有相同的域名)。

  

localStorage为每个给定的来源维护一个单独的存储区域   这是在页面会话期间可用的(只要   浏览器已打开,包括页面重新加载和恢复。)

     

sessionStorage做同样的事情,但即使浏览器关闭也会持续存在   重新开放。 Source

答案 1 :(得分:1)

  

当我尝试从另一个页面访问时,我的值为'null'。

这是exactly how sessionStorage is designed to work

  

my.zoo.ts = zoo(matrix(c(1:8),ncol=2), c("2012-07-05 19:00:00 BST", "2012-07-05 19:30:00 BST", "2012-07-05 20:00:00 BST", "2012-07-05 20:30:00 BST")) 属性允许您访问会话存储对象。 sessionStoragesessionStorage类似,唯一的区别是当Window.localStorage中存储的数据没有到期设置时,localStorage中存储的数据会在页面会话结束时被清除。只要浏览器处于打开状态,页面会话就会持续,并且会在页面重新加载和恢复后继续存在。 在新标签页或新窗口中打开页面会导致启动新会话,这与会话Cookie的工作方式不同。

如果您希望数据在同一来源的网页上保留,请改用sessionStorage

答案 2 :(得分:0)

您可以保存字符串和整数,但不能保存对象。但是,您可以序列化事物并保存JSON。

localStorage用于永久存储数据,而sessionStorage只是暂时存储数据,直到用户关闭网络浏览器。

您使用的语法是正确的。您使用setItem存储并getItem加载。

示例:

localStorage.setItem('name', 'Alice');
localStorage.setItem('marbles', 22);
localStorage.setItem('admin', true);

或:

var animal = {"type": "cat", "food": "catfood"};
localStorage.setItem('animal', JSON.stringify(animal));

那么你可以得到它:

var json = localStorage.getItem('animal');
var animal = JSON.parse(json);