3

会话值是基于站点存储还是基于页面?

我在 sessionStorage 中跨两个页面存储一些值,例如 example.com/page1 和 example.com/page2。现在,当我更改一页中的值时,它会以某种方式重叠或影响另一页上的值。我在一个浏览器的单个选项卡中在 pg1 和 pg2 之间切换。两个页面上的键名相同。为第 2 页创建新键对我来说并不难,但试图弄清楚为什么会这样。我的环境是 Mac 上的 Safari。

另外,另一个问题,我们可以为网站的实体创建会话变量,而不仅仅是按页面吗?有时我想存储一个页面中的一些值,并且需要检查该站点中所有页面的值,只要用户处于会话状态。

谢谢!

4

2 回答 2

2

会话存储旨在从同一域上的任何页面访问,这就是变量的值在两个页面之间相同的原因。尽管它仅适用于该特定窗口或选项卡。

参考:http ://dev.w3.org/html5/webstorage/#introduction

于 2012-03-28T20:39:01.157 回答
1

您还可以定义第二个 sessionStorage 键,以便您拥有两个完全不同的 sessionStorage 实例。SessionStorage 跨越整个站点,但仅在一个选项卡/窗口中。

查看 localStorage 和 sessionStorage 之间的区别可能也有帮助:HTML5 Local storage vs. Session storage

于 2014-02-28T20:30:08.153 回答