В браузере 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
?
Ответы
Ответ 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]()