JavaScript写入后检查Cookie似乎需要睡眠

时间:2013-03-13 07:51:22

标签: javascript setcookie

我有一个奇特的问题。一些JavaScript检查,如果可以编写Cookie。
这是我们的代码:

function logCookieError(){
  var noCokkieSet = false;
  createCookie('testcookie','testvalue',1);
  if(getCookie('testcookie') != 'testvalue'){
    noCokkieSet = true;
    _log.error("XMPP=NO COOKIES:");
  }else{
    eraseCookie('testcookie');
  }
  return noCokkieSet;
}

不幸的是,有时候(使用Chrome测试过),我们收到的是假的,但没有任何改变 那么,编写Cookie需要花费一些时间吗,我需要添加一个睡眠,还是会有其他因素影响这个测试呢?

的问候,
-Rainer

修改
我想,createCookie和getCookie都是标准JavaScript方法。这是实施:

function createCookie(name,value,days){
  if (days){
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }else{
    expires = "";
  }
  document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(NameOfCookie){
  if (document.cookie.length > 0){
    begin = document.cookie.indexOf(NameOfCookie+"=");
        >-if (begin != -1){
      begin += NameOfCookie.length+1;
      end = document.cookie.indexOf(";", begin);
      if (end == -1) end = document.cookie.length;
      return unescape(document.cookie.substring(begin, end));
    }
  }
  return null;
}

1 个答案:

答案 0 :(得分:0)

检查你的createCookie功能。 可能您正在尝试创建一个自动终止的超时cookie。 一个很好的例子在于: Quirksmode org