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
是不可能的
会话存储:
-
只有在存储窗口或选项卡时,值才会保留。
-
值仅在创build它们的窗口或选项卡中可见。
本地存储:
-
值持久化窗口和浏览器的生命周期。
-
值在每个窗口或标签在同一个来源运行。
所以,通过阅读和理解这个每个键值对是唯一的每个域,因为本地存储保持跨越窗口或选项卡的值。