我有一个奇特的问题。一些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;
}