web-dev-qa-db-ja.com

sessionStorageおよびlocalStorageのスコープ

SessionStorageとlocalStorageに関するいくつかのドキュメントを読みましたが、スコープ、ドメイン、特定のページとは何ですか?

たとえば、次のページがある場合:

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

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

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

そして、上記の各ページで実行する場合(idstringがクエリ文字列の値である場合):

localStorage.setItem('ID',idvalue);

3つの異なる値が保存されることになりますか、それとも値が互いに上書きされますか?

95
Christophe

値は互いに上書きします。各キー名のペアは、パスに関係なく、プロトコルとドメインに対して一意です。

影響を受けるドメインは、document.domainプロパティを使用して変更できます。

  • sub.example.com-> example.comは可能です(サブドメイン)
  • sub.example.com-> other.example.comは使用できません
81
Rob W

セッションストレージ:

  1. 値は、値が保存されているウィンドウまたはタブに限り持続します。

  2. 値は、それらを作成したウィンドウまたはタブ内でのみ表示されます。

ローカルストレージ:

  1. 値はウィンドウとブラウザの有効期間を保持します。

  2. 同じOriginで実行されているすべてのウィンドウまたはタブで値が共有されます。

したがって、ローカルストレージはウィンドウまたはタブ間で値を保持するため、これを読んで理解すると、各キーと値のペアはドメインごとに一意になります。

138
Talha