在浏览器刷新/关闭时,我的cookie在到期之前被删除。为什么?

时间:2015-07-16 17:23:45

标签: javascript cookies google-apps-script google-sites

我在Google协作平台页面的Google Apps脚本小工具中使用JavaScript设置和获取Cookie。我使用下面的代码。它设置了cookie就好了,我可以通过我的浏览器设置找到它(我使用的是Chrome)。我可以链接点击浏览我的网站并返回我正在使用后退按钮进行测试的页面,并且可以很好地回读cookie,但是当我点击刷新或使用地址栏导航cookie的那一刻消失。到底他妈发生了什么?请原谅我,如果我是密集的,但这是不正确的行为,对吧?否则,为什么甚至有一个到期字符串? cookie应该一直存在,直到它过期,无论浏览器刷​​新或关闭,不是吗?

set cookie函数生成一个cookie字符串,如:

  

email=myusername@gmail.com; expires = Fri,2016年7月15日16:57:00   GMT;路径= /;域= .googleusercontent.com;

我正在设置" domain = .googleusercontent.com"因为那是GAS所在的域名,我希望我的cookie可以使用同一个小工具在几个页面上使用。我是否正在点击GAS正在做的一些沙盒事情?

function setCookie(email, daysToExpire) {
  var d = new Date();
  d.setTime(d.getTime() + (daysToExpire * 24 * 60 * 60 * 1000));
  var expires = 'expires=' + d.toGMTString();
  var cookie = 'email=' + email + ';' + expires + ';path=/;domain=.googleusercontent.com;';
  document.cookie = cookie;
}

function getCookie() {
  var email = 'email=';
  var ca = document.cookie.split(';');
  for(var i = 0; i < ca.length; ++i) {
    var c = ca[i];
    while(c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if(c.indexOf(email) == 0) {
      return c.substring(email.length, c.length);
    }
  }
  return '';
}

0 个答案:

没有答案