Подтвердить что ты не робот

В браузере sessionStorage в Safari Private Browsing не работает так же, как режим Chrome Incognito и частное окно Firefox?

Кажется, что для sessionStorage он работает по-разному в режиме Chrome Incognito vs Safari Private Browsing и в частном окне Firefox? Я могу найти что-то на http://www.webdirections.org/blog/webstorage-persistent-client-side-data-storage/, но он не говорит, что Safari Private Browsing будет генерировать исключение.

Ниже показано, как я открыл "Частный просмотр":

  • В Safari на Mac нажмите "Safari → Частный просмотр" в строке меню
  • В Chrome используйте "Файл → Новое окно инкогнито"
  • В Firefox используйте "Файл → Новое приватное окно"

а в Safari sessionStorage не работает, и если в консоли я сделаю следующее:

> sessionStorage["foo"] = 123.4
Error: QUOTA_EXCEEDED_ERR: DOM Exception 22

> sessionStorage["foo"] 
undefined

но в Chrome или Firefox, sessionStorage работает как обычно (как неличный просмотр). Является ли приведенная выше точность до sessionStorage?

4b9b3361

Ответ 1

Ваша оценка практически достоверна:

  • Safari будет использовать квоту 0 в приватном режиме, поэтому все попытки установить значение не удастся. Это нормально в соответствии с спецификацией, поскольку спецификация не требует минимального требования к пространству.
  • Chrome и Firefox по-прежнему позволяют использовать хранилище, однако частное хранилище не зависит от не private, т.е. установка элемента в приватном режиме не будет возвращаться в неличный режим (важно только для localStorage).

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

Ответ 2

Последняя версия Safari (версия 12.0) уже имеет доступ к sessionStorage без каких-либо проблем в режиме инкогнито. enter image description here

Ответ 3

Режим Safari Pivate поддерживает локальное хранилище и SessionStorage.

enter image description here