我一直在尝试使用sessionStorage在页面中保存javascript变量。
据我了解,语法为:
sessionStorage.setItem('whateverkey', 'whatever value');
有没有办法在sessionStorage中保存变量,或者在页面之间保存信息的其他简单方法
提前致谢!
答案 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"))
属性允许您访问会话存储对象。sessionStorage
与sessionStorage
类似,唯一的区别是当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);