会话值是根据网站存储还是基于页面?
我将sessionStorage中的一些值存储在同一域中的两个页面上,例如example.com/page1和example.com/page2。现在,当我更改一个页面中的值时,它会以某种方式重叠或影响另一个页面上的值。我在一个浏览器,单个选项卡中切换pg1和pg2。并且两个页面上的键名相同。对于我来说,为第2页创建新密钥并不是很困难,但是要弄清楚为什么会这样。我的环境是Mac上的Safari。
另外,另一个问题是,我们是否可以为网站的内在性创建会话变量而不仅仅是按页面?有时我想从一个页面存储一些值,并且只要用户在会话中就需要检查该站点中所有页面的值。
谢谢!
答案 0 :(得分:2)
会话存储旨在从同一域上的任何页面进行访问,这就是为什么两个页面中变量的值相同的原因。虽然它只适用于特定的窗口或标签。
答案 1 :(得分:1)
您还可以定义第二个sessionStorage键,以便有两个完全不同的sessionStorage实例。 SessionStorage遍布整个站点,但仅限于一个选项卡/窗口。
也可能有助于查看localStorage和sessionStorage之间的区别:HTML5 Local storage vs. Session storage