如何在Safari私密模式的本地存储中保存

Off*_*'er 4 cookies safari local-storage incognito-mode

我有一个应用程序,用于在本地存储中保存用户名.它适用于所有浏览器,除了Safariprivate mode.

有没有办法在Safari私密模式下保存此变量?我尝试过使用cookies,但它也不起作用......

有什么工作吗?

Off*_*'er 8

我实现了一个LocalStorageHandler来检查浏览器是否支持本地存储,如果它不支持,那么我使用Cookie.

这是检查它是否支持本地存储的功能:

localStoreSupport: function ()
{
    var testKey = 'test', storage = window.sessionStorage;
    try
    {
        storage.setItem(testKey, '1');
        storage.removeItem(testKey);
        return true;
    }
    catch (error)
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我处理错误的方式:

if (this.localStoreSupport())
    {
        localStorage.setItem(name, value);
    }
    else
    {
        document.cookie = name + "=" + encodeURIComponent(value) + expires + "; path=/";
    }
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助你.


lor*_*tis 5

从 Safari 11 开始,它们支持私有模式下的 localStorage,与其他浏览器相同提交:https: //github.com/WebKit/WebKit/commit/91d15f887ff7174f7754b25b8dc8ab459951e5e1 讨论: https: //bugs.webkit.org/show_bug.cgi ?id =157010