Является ли HTML5-объект localStorage изолированным для каждой страницы / домена? Мне интересно из-за того, как я бы назвал ключи localStorage. Нужен ли отдельный префикс? Или я могу назвать их как я хочу?
javascript
html
local-storage
Натан Моос
источник
источник
Ответы:
Это для домена и порта (те же правила сегрегации, что и в той же политике происхождения ), чтобы сделать это для каждой страницы, вам нужно будет использовать ключ на основе
location
или другого подхода.Вам не нужен префикс, используйте его, если он вам нужен. Кроме того, да, вы можете назвать их как хотите.
источник
protocol://host:port
комбинации.Хранилища для каждого источника , где «происхождение» такое же, как и в « Политике одного источника» (комбинация схемы [
http
иhttps
т. Д.], Порта и хоста). Из спецификации :Таким образом, хранилище для
http://a.example.com
и хранилище для нихhttp://b.example.com
являются отдельными (и они оба отделеныhttp://example.com
), поскольку все они являются разными хостами. Точно так жеhttp://example.com:80
иhttp://example.com:8080
иhttps://example.com
все имеют различное происхождение.В веб-хранилище не встроен механизм, позволяющий одному источнику получать доступ к хранилищу другого.
Обратите внимание , что это начало , а не URL, так
http://example.com/page1
иhttp://example.com/page2
оба имеют доступ к хранилищу дляhttp://example.com
.источник
Да, у каждого домена / субдомена есть свой localStorage, и вы можете вызывать ключи как хотите (префикс не требуется).
Чтобы получить ключ, вы можете использовать метод ключ (индекс), такой как
До этого существовал объект с именем globalStorage, в котором вы могли иметь несколько локальных хранилищ, но он не рекомендуется использовать в спецификации.
источник
Как уже отмечали другие, localStorage уникален для каждого протокола, хоста и порта. Если вам нужен удобный способ управления хранилищем с помощью префиксных ключей, я рекомендую localDataStorage .
Он не только помогает обеспечить сегментированное общее хранилище в том же домене с помощью префиксов ключей, он также прозрачно хранит типы данных javascript (Array, Boolean, Date, Float, Integer, String и Object), обеспечивает легкую обфускацию данных, автоматически сжимает строки и облегчает запрос по ключу (имя), а также запрос по (ключу) значению.
[ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ] Я являюсь автором утилиты [/ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ]
Примеры:
Как видите, примитивные значения соблюдаются, и вы можете создать несколько экземпляров для управления вашим хранилищем.
источник
Он доступен в любом месте этого домена, как предположил Ник, в качестве альтернативы существует сессия sessionStorage, которая отличается от самого окна браузера. То есть другие вкладки или окна в том же домене не имеют доступа к той же копии объекта хранения.
источник