Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript document.cookie过期在Safari中无法正常工作_Javascript_Cookies_Safari - Fatal编程技术网

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

Javascript document.cookie过期在Safari中无法正常工作,javascript,cookies,safari,Javascript,Cookies,Safari,我有一个脚本,我在cookies中保存登录信息(电子邮件/加密pwd)大约10年。它在Firefox中运行,但在Safari(MacOS上)中只保存了几天 以下是我正在使用的代码: function setCookie(name, value, days) { if (days) { var expires = new Date(); expires.setTime(expires.getTime() + (days*24*60*60*1000))

我有一个脚本,我在cookies中保存登录信息(电子邮件/加密pwd)大约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中的cookies: 在狩猎中

感谢您的帮助

谢谢


Jean

改为本地存储…服务器需要这些数据,所以我不能使用本地存储(我想)。我认为这种编码方式在今天是不可接受的。从服务器直接访问已经成为所有用户cookies的后门,对于页面上的每个广告iFrame,我想苹果的政策在这个问题上是强硬的,他们是对的。如果确实需要从服务器检索用户信息,请使用localStorage并添加Ajax,这也是GDPR的问题,用户可以选择是否使用每个浏览器[或系统]提供的密码管理器。更改为localStorage…服务器需要该数据,因此我无法使用本地存储(我认为).我认为这种编码方式在今天是不可接受的。从服务器直接访问已经成为所有用户cookies的后门,对于页面上的每个广告iFrame,我想苹果的政策在这个问题上是强硬的,他们是对的。如果确实需要从服务器检索用户信息,请使用localStorage并添加Ajax,这也是GDPR的问题,用户可以选择是否使用每个浏览器[或系统]提供的密码管理器。