2012-03-16 107 views
83

我讀了一些關於sessionStorage和localStorage的文檔,但我不明白範圍是什麼:域,一個特定的頁面?會話範圍存儲和本地存儲

例如,如果我有以下網頁:

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

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

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

如果每個I運行上述頁(具有idvalue是在值查詢字符串):

localStorage.setItem('ID',idvalue); 

我最終會記憶3個不同的值,還是會覆蓋對方的值?

回答

70

這些值將會相互覆蓋。無論路徑如何,每個密鑰 - 名稱對對於協議和域都是唯一的。

受影響的域可通過document.domain屬性進行更改。

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

謝謝!你有參考推薦,這詳細解釋localStorage? – Christophe 2012-03-16 18:27:28

+2

@Christophe [MDN:Storage](https://developer.mozilla.org/en/DOM/Storage)和[W3c:Web Storage](http://dev.w3.org/html5/webstorage/)。 – 2012-03-16 18:30:20

+1

好吧,即使閱讀MDN頁面後,我仍然無法找到我的問題的答案...無論如何,再次感謝! – Christophe 2012-03-16 18:37:58

111

會話存儲:

  1. 價值觀堅持只只要窗口或選項卡中。

  2. 值僅在創建它們的窗口或選項卡中可見。

本地存儲:

  1. 價值觀堅持窗口和瀏覽器的壽命。

  2. 值在同一原點上運行的每個窗口或標籤上共享。

因此,通過閱讀並理解這一點,每個鍵 - 值對對每個域都是唯一的,因爲本地存儲在窗口或選項卡中保留了值。

+3

謝謝。你能分享這個參考鏈接嗎? – Christophe 2012-03-20 15:33:04

+3

我已閱讀http://codeheaven.org/html5-web-storage-api.html上的這個 – Talha 2012-03-26 06:05:41

+2

上面的鏈接現在是Defunct這是另一個很好的資源:http://www.sitepoint.com/an-overview-of -the-web-storage-api/ – chrisjlee 2013-12-26 20:21:40