JavaScript检查Cookie在写入后似乎需要睡眠
我有个奇怪的问题。如果可以编写Cookie,请执行一些JavaScript检查。JavaScript检查Cookie在写入后似乎需要睡眠,javascript,setcookie,Javascript,Setcookie,我有个奇怪的问题。如果可以编写Cookie,请执行一些JavaScript检查。 这是我们的代码: function logCookieError(){ var noCokkieSet = false; createCookie('testcookie','testvalue',1); if(getCookie('testcookie') != 'testvalue'){ noCokkieSet = true; _log.error("XMPP=NO COOKIES:
这是我们的代码:
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;
}
检查createCookie函数。 可能您正试图创建一个自动终止的超时cookie。 一个很好的例子是:
您需要添加
createCookie
、getCookie
和eraseCookie
所做的事情,或者添加对您正在使用的库的引用。编写cookie是一项同步且极快的操作。我怀疑getCookie
、createCookie
和eraseCookie
方法不能正常工作。