首页 > 解决方案 > document.cookie 过期无法在 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

任何帮助表示赞赏。

谢谢,

标签: javascriptcookiessafari

解决方案


推荐阅读