【问题标题】:HTML 5 - sessionStorage - values overlap across pages in same domainHTML 5 - sessionStorage - 值在同一域中的页面之间重叠
【发布时间】:2012-03-28 10:07:00
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: html sessionstorage


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 第二次会话存储这个短语是什么意思?你的意思是单独的键?有没有办法复制存储?如果是这样,请进一步解释一下。
      • 要复制存储,您可以检查某个键是否存在,如果存在,请将值复制到新键。
      猜你喜欢
      • 1970-01-01
      • 2015-10-19
      • 2021-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-06
      • 1970-01-01
      相关资源
      最近更新 更多