0
我有一个花哨的问题。一些JavaScript检查,如果可以写一个Cookie。
这是我们的代码: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;
}
您需要添加什么'createCookie','getCookie'和'eraseCookie'做,或添加到您正在使用的库的引用。 – phenomnomnominal 2013-03-13 07:53:40
写入cookie是一种同步且速度极快的操作。我怀疑'getCookie','createCookie'和'eraseCookie'方法无法正常工作。 – freakish 2013-03-13 07:55:42