0

我有一个花哨的问题。一些 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 是否需要一些时间,并且我需要添加一个睡眠,或者其他东西会影响这个测试吗?

问候,
-雷纳

编辑
我认为,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;
}
4

1 回答 1

0

检查您的 createCookie 函数。可能您正试图创建一个自动终止的超时 cookie。一个很好的例子位于: Quirksmode org

于 2013-03-13T08:04:41.603 回答