我阅读了一些有关 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 个不同的值,还是这些值会互相覆盖?
会话存储:
值仅在存储它们的窗口或选项卡中持续存在。
值仅在创建它们的窗口或选项卡中可见。
本地存储:
值保留窗口和浏览器的生命周期。
值在同一源运行的每个窗口或选项卡之间共享。
因此,通过阅读和理解这一点,每个键值对对于每个域都是唯一的,因为本地存储跨窗口或选项卡保存值。
这些值将相互覆盖。无论路径如何,每个密钥名称对对于协议和域都是唯一的。
可以通过
document.domain
属性更改受影响的域。
sub.example.com
-> example.com
是可能的(子域)sub.example.com
-> other.example.com
不可能参考资料: