sessionStorage和localStorage的范围

Chr*_*phe 98 javascript html5 local-storage sessionstorage

我阅读了有关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);
Run Code Online (Sandbox Code Playgroud)

我最终会存储3个不同的值,或者值是否会相互覆盖?

Tal*_*lha 142

会话存储:

  1. 只有存储它们的窗口或选项卡时,值才会持续存在.

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

本地存储:

  1. 值持续存在窗口和浏览器生命周期.

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

因此,通过阅读和理解,每个键值对每个域都是唯一的,因为本地存储在窗口或选项卡上保持值.

  • 谢谢.你能分享这个参考的链接吗? (3认同)
  • 上面的链接现在已经废弃了这是另一个很好的资源:http://www.sitepoint.com/an-overview-of-the-web-storage-api/ (3认同)

Rob*_*b W 82

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

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

  • sub.example.com- > example.com是可能的(子域名)
  • sub.example.com- > other.example.com是不可能的

  • @Christophe [MDN:存储](https://developer.mozilla.org/en/DOM/Storage)和[W3c:Web存储](http://dev.w3.org/html5/webstorage/). (2认同)