繁体   English   中英

在ios Safari私人浏览模式下更改位置时保留存储空间

[英]keep storage when changing location in ios safari private browsing mode

当用户更改页面时,我正在使用html5网络存储来保存和加载数据,但是在iOS Safari私有浏览模式下它不起作用。

是否有另一种方式(纯JavaScript)在页面之间传输数据而不涉及服务器(即cookie)? 我正在尝试使其尽可能快。

我不熟悉html5历史记录API,但是可以将其用于此目的吗?

我知道我可以在URL中使用哈希,但这看起来并不美观。

看起来您可以为此使用cookie:

// cookie for ios safari private browsing between pages
function getCookieValue(key) {
    return grep(document.cookie.split(/;\s*/), function (cookie) {
        return cookie.indexOf(key + '=') == 0;
    }).map(function (cookie) {
        return decodeURIComponent(cookie.replace(key + '=', ''));
    })[0];
}

function cookieStorage() {
    var cookies = {};
    document.cookie.split(/;\s*/).forEach(function(cookie){
        var split = cookie.split('=');
        cookies[split[0]] = decodeURIComponent(split.slice(1).join('='));
    });
    return cookies;
}

function clearCookies() {
    document.cookie.split(/;\s*/).forEach(function (cookie) {
        // have to set path as they may have been set from a different page
        document.cookie = cookie.split('=', 1)[0] + '=;path=/;expires=' + new Date().toUTCString();
    });
}

function setCookie(key, s) {
    // have to set path so we can clear them from a different page
    document.cookie = key + '=' + encodeURIComponent(s) + ';path=/';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM