繁体   English   中英

document.cookie 过期无法在 Safari 中正常工作

[英]document.cookie expires not working properly in Safari

我有一个脚本,我在其中将登录信息(电子邮件/加密密码)保存在 cookie 中大约 10 年。 它在 Firefox 中运行,但在 Safari(在 MacOS 上)中仅保存几天。

这是我正在使用的代码:

function setCookie(name, value, days)
{
    if (days)
    {
        var expires = new Date();
        expires.setTime(expires.getTime() + (days*24*60*60*1000));
    }
    document.cookie = name + '=' + escape(value) + '; path=/' + ((expires == null) ? '' : '; expires=' + expires.toGMTString());
}

function saveLoginCookies()
{ 
    var keepEmail = $('#keepemail')[0];
    if (keepEmail.checked)
        setCookie('email', $('#email').val(), 3650);
    else
        delCookie('email');
    var keepPwd = $('#keeppwd')[0];
    if (keepPwd.checked)
    {
        setCookie('email', $('#email').val(), 3650); // to make sure we have both the email and pwd even if keepemail is not checked
        setCookie('encpwd', $("#encpwd").val(), 3650);
    }
    else
        delCookie('encpwd');
}

以下是 Firefox 中的 Cookie: Cookies Firefox和 Safari 中的Cookies Safari

任何帮助表示赞赏。

谢谢,

我知道这是一篇旧帖子,但我自己试图找到答案才发现它。 Safari 有一些非常奇怪的跟踪预防措施,它将最大 cookie 过期日期设置为 7 天,因此无论您输入什么内容,它都会设置为 cookie 创建后的 7 天。

暂无
暂无

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

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