107

我阅读了有关 sessionStorage 和 localStorage 的一些文档,但我不明白范围是什么:域、特定页面?

例如,如果我有以下页面:

http://example.com/products.aspx?productID=1

http://example.com/products.aspx?productID=2

http://example.com/services.aspx?serviceID=3

如果在上述每个页面上我运行(idvalue 是查询字符串中的值):

localStorage.setItem('ID',idvalue);

我最终会存储 3 个不同的值,还是这些值会相互覆盖?

4

2 回答 2

156

会话存储:

  1. 值仅在它们存储的窗口或选项卡中持续存在。

  2. 值仅在创建它们的窗口或选项卡中可见。

本地存储:

  1. 值保持窗口和浏览器的生命周期。

  2. 在同一来源运行的每个窗口或选项卡之间共享值。

因此,通过阅读和理解这一点,每个键值对对于每个域都是唯一的,因为本地存储跨窗口或选项卡保留值。

于 2012-03-20T10:27:49.130 回答
95

这些值将相互覆盖。无论路径如何,每个键名对对于协议和域都是唯一的。

受影响的域可以通过document.domain属性进行更改。

  • sub.example.com->example.com是可能的(子域)
  • sub.example.com->other.example.com不可能
于 2012-03-16T18:11:43.293 回答