Объем sessionStorage и localStorage


105

Я прочитал некоторую документацию по 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 разных значения или значения будут перезаписывать друг друга?

Ответы:


87

Значения будут перезаписывать друг друга. Каждая пара ключ-имя уникальна для протокола и домена, независимо от путей.

Затронутый домен можно изменить через document.domainсвойство.

  • sub.example.com-> example.comвозможно (поддомен)
  • sub.example.com-> other.example.comневозможно

Спасибо! Не могли бы вы порекомендовать ссылку, которая подробно объясняет localStorage?
Christophe


1
Что ж, даже после прочтения страницы MDN я все еще не могу найти ответ на свой вопрос ... В любом случае, еще раз спасибо!
Christophe

1
@Christophe Некоторое время назад я проверил свои утверждения, просмотрев базу данных sqlite (3), вызванную webappsstore.sqliteв моем каталоге профиля Firefox, с помощью запроса SELECT scope FROM webappsstore2;. Результат является обратным по отношению к домену, а затем необращенный протоколом, и достаточно , с портом, например: gro.allizom.snodda.secivres.:https:443. Как видите, ни о каком пути не упоминается.
Rob W

Вот документация по document.domainупомянутому API: html.spec.whatwg.org/multipage/…
mltsy

149

Хранение сессий:

  1. Значения сохраняются только до тех пор, пока окно или вкладка, в которых они сохранены.

  2. Значения видны только в окне или вкладке, в которых они были созданы.

Локальное хранилище:

  1. Значения сохраняют время жизни окна и браузера.

  2. Значения используются во всех окнах или вкладках одного и того же источника.

Итак, читая и понимая это, каждая пара ключ-значение уникальна для каждого домена, потому что локальное хранилище сохраняет значения в окне или на вкладке.


3
Спасибо. Не могли бы вы поделиться ссылкой на эту ссылку?
Christophe

3
Ссылка выше теперь не функционирует, это еще один отличный ресурс: sitepoint.com/an-overview-of-the-web-storage-api
chrisjlee

Вывод может быть правильным, но не рассуждения. Даже если бы хранилище было постраничным, оно все равно могло сохраняться в окнах / вкладках.
Pyrocrasty
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.