Как сохранить в локальном хранилище 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

Другие вопросы по тегам