sessionStorage和localStorage的范围

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

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

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

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

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

如果在上面的每个页面上运行(idvalue是查询string中的值):

localStorage.setItem('ID',idvalue); 

我最终会存储3个不同的值,还是会覆盖对方的值?

这些值将会相互覆盖。 无论path如何,每个密钥 – 名称对对于协议和域都是唯一的。

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

  • sub.domain.com – > domain.com是可能的(子域)
  • sub.domain.com – > other.domain.com是不可能的

会话存储:

  1. 只有在存储窗口或选项卡时,值才会保留。

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

本地存储:

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

  2. 值在每个窗口或标签在同一个来源运行。

所以,通过阅读和理解这个每个键值对是唯一的每个域,因为本地存储保持跨越窗口或选项卡的值。