【问题标题】:IE doing logout after close the browserIE关闭浏览器后退出
【发布时间】:2015-05-13 22:19:03
【问题描述】:

我创建网站,当用户登录并选中“记住我”时,我会写入 cookie 用户名。它运行良好,但仅在某些浏览器中。 我的 cookie 用户名写入代码:

  document.cookie = "";
  document.cookie = "username=" + username;

登录后,我从 cookie 中检查用户名。 但是在 IE 浏览器中它不起作用。 关闭浏览器并再次打开他的cookies做清除。 为什么会发生? 以及如何解决?

【问题讨论】:

标签: javascript internet-explorer cookies


【解决方案1】:

我找到了获取/设置 cookie 的好代码:

function setCookie(c_name,value,exdays)
    {
      var exdate=new Date();
      exdate.setDate(exdate.getDate() + exdays);
      var c_value=escape(value) + 
        ((exdays==null) ? "" : ("; expires="+exdate.toUTCString()));
      document.cookie=c_name + "=" + c_value;
    }

    function getCookie(c_name)
    {
     var i,x,y,ARRcookies=document.cookie.split(";");
     for (i=0;i<ARRcookies.length;i++)
     {
      x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
      x=x.replace(/^\s+|\s+$/g,"");
      if (x==c_name)
      {
       return unescape(y);
      }
     }
    }

来源:How do I create and read a value from cookie?

谢谢heru-luin

【讨论】:

    【解决方案2】:

    【讨论】:

    • 不,我的浏览器设置很好。和“删除浏览器历史记录”禁用
    【解决方案3】:

    查看官方 MS Developer Network 文档 -> https://msdn.microsoft.com/en-us/library/ms533693%28v=vs.85%29.aspx

    如果您在 cookie 上没有设置过期日期,它会在浏览器浏览器时过期 关闭。如果您设置过期日期,则 cookie 将保存在 浏览器会话。如果您将过期日期设置在过去,则 cookie 被删除。使用格林威治标准时间 (GMT) 格式指定 日期。

    因此,如果您希望 cookie 在 IE 中持久存在,您基本上需要指定过期日期。上面链接中的示例:

    // Create a cookie with the specified name and value.
    function SetCookie(sName, sValue)
    {
      document.cookie = sName + "=" + escape(sValue);
      // Expires the cookie in one month
      var date = new Date();
      date.setMonth(date.getMonth()+1);
      document.cookie += ("; expires=" + date.toUTCString()); 
    }
    

    或者看看这个优秀的答案 -> Using javascript to set cookie in IE.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-16
      • 2010-09-10
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多