Как сохранить в локальном хранилище Safari Private Mode
У меня есть приложение, которое сохраняет имя пользователя в локальном хранилище. Он отлично работает с каждым браузером, кроме Safari
в private mode
,
Есть ли способ сохранить эту переменную в приватном режиме Safari? Я пытался использовать куки, но это также не работает...
Любая работа вокруг?
2 ответа
Решение
Я реализовал LocalStorageHandler, который проверяет, поддерживает ли браузер локальное хранилище, если он не поддерживает, тогда я использую Cookie.
Это функция, которая проверяет, поддерживает ли она локальное хранилище:
localStoreSupport: function ()
{
var testKey = 'test', storage = window.sessionStorage;
try
{
storage.setItem(testKey, '1');
storage.removeItem(testKey);
return true;
}
catch (error)
{
return false;
}
}
И вот как я справился с ложью:
if (this.localStoreSupport())
{
localStorage.setItem(name, value);
}
else
{
document.cookie = name + "=" + encodeURIComponent(value) + expires + "; path=/";
}
Я надеюсь, это поможет вам.
Начиная с Safari 11, они поддерживают localStorage в приватном режиме, как и другие . браузеры=157010