Cakupan sessionStorage dan localStorage


105

Saya membaca beberapa dokumentasi tentang sessionStorage dan localStorage, tetapi saya tidak mengerti apa cakupannya: domain, halaman tertentu?

Misalnya, jika saya memiliki halaman berikut:

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

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

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

Dan jika pada setiap halaman di atas saya jalankan (dengan idvalue menjadi nilai di querystring):

localStorage.setItem('ID',idvalue);

Apakah saya akan berakhir dengan 3 nilai berbeda yang disimpan, atau apakah nilainya akan saling menimpa?

Jawaban:


87

Nilainya akan saling menimpa. Setiap pasangan nama-kunci unik untuk protokol dan domain, apa pun jalurnya.

Domain yang terpengaruh dapat diubah melalui document.domainproperti.

  • sub.example.com-> example.commungkin (subdomain)
  • sub.example.com-> other.example.comtidak mungkin

Terima kasih! Apakah Anda memiliki referensi untuk direkomendasikan, yang menjelaskan localStorage secara detail?
Christophe


1
yah, bahkan setelah membaca halaman MDN saya masih tidak dapat menemukan jawaban atas pertanyaan saya ... Pokoknya, terima kasih lagi!
Christophe

1
@Christophe Saya telah memverifikasi pernyataan saya beberapa waktu lalu dengan melihat database sqlite (3) yang dipanggil webappsstore.sqlitedi direktori profil Firefox saya, menggunakan kueri SELECT scope FROM webappsstore2;. Hasilnya adalah kebalikan dari domain, diikuti oleh protokol non-terbalik, dan mencukupi dengan pelabuhan, misalnya: gro.allizom.snodda.secivres.:https:443. Seperti yang Anda lihat, tidak disebutkan jalur mana pun.
Rob W

Berikut dokumentasi document.domainAPI yang disebutkan: html.spec.whatwg.org/multipage/…
mltsy

149

Penyimpanan Sesi:

  1. Nilai bertahan hanya selama jendela atau tab tempat mereka menyimpannya.

  2. Nilai hanya terlihat di dalam jendela atau tab yang membuatnya.

Penyimpanan lokal:

  1. Nilai bertahan jendela dan masa pakai browser.

  2. Nilai dibagikan di setiap jendela atau tab yang berjalan di asal yang sama.

Jadi, dengan membaca dan memahami ini, setiap key-value pair adalah unik untuk setiap domain, karena penyimpanan lokal mempertahankan nilai di seluruh jendela atau tab.


3
Terima kasih. Bisakah Anda membagikan tautan ke referensi ini?
Christophe

3
Link di atas sekarang mati ini sumber daya yang besar lain: sitepoint.com/an-overview-of-the-web-storage-api
chrisjlee

Kesimpulannya mungkin benar, tapi bukan alasannya. Meskipun penyimpanannya per halaman, itu masih bisa bertahan di seluruh jendela / tab.
pyrocrasty
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.