javascript cookie上的6个月到期日

javascript cookie上的6个月到期日,javascript,cookies,Javascript,Cookies,我对javascript不是很在行,但我有一个可以正常工作的javascript,但它似乎没有遵循我设定的6个月到期日。有人能帮忙排除故障吗?这是我在设置cookie的过期日期时所做的: expDate = new Date; // in the following line, 180 means 180 days. expDate.setTime(expDate.getTime() + 180 * 24 * 60 * 60 * 1000); expDate.toGMTString();

我对javascript不是很在行,但我有一个可以正常工作的javascript,但它似乎没有遵循我设定的6个月到期日。有人能帮忙排除故障吗?这是我在设置cookie的过期日期时所做的:

expDate = new Date;
// in the following line, 180 means 180 days. 
expDate.setTime(expDate.getTime() + 180 * 24 * 60 * 60 * 1000); 
expDate.toGMTString();  

function setCookie(name, value, expires, path, domain, secure){

document.cookie= name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}

function getCookie(name){........
任何故障排除的帮助都将是完美的,非常感谢

更新-这里是整个脚本。我打电话给一个弹出窗口,只显示是否有3页访问,20%,以及6个月的到期日期。只是拼凑在一起,所以对我放轻松

expDate = new Date;
// in the following line, 180 means 180 days. 
expDate.setTime(expDate.getTime() + 180 * 24 * 60 * 60 * 1000); 
expDate.toGMTString();  

function setCookie(name, value, expires, path, domain, secure){

document.cookie= name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}

function getCookie(name){

var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1){
begin = dc.indexOf(prefix);
if (begin != 0) return null;}
else{begin += 2;}
var end = document.cookie.indexOf(";", begin);
if (end == -1){end = dc.length;}
return unescape(dc.substring(begin + prefix.length, end));
}


    visits = getCookie('nVisits');
    if (!visits) {
        visits = 1
    };
    if (visits == 3) 
    if ((Math.random() * (100 - 1) + 1) < 20)
    {
      window.open("https://mypoup.html", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");
    }
    if (visits < 3) {
        ++visits;
        cookieData = visits;
        setCookie('nVisits', cookieData, expDate)
    }
expDate=新日期;
//在下一行中,180表示180天。
expDate.setTime(expDate.getTime()+180*24*60*60*1000);
expDate.togmString();
函数setCookie(名称、值、过期、路径、域、安全){
document.cookie=名称+“=”+转义(值)+
((expires)?“expires=“+expires.TogmString():”)+
((路径)?“路径=”+path:)+
((域)?“域=”+域:“”)+
((安全)?“安全”:“);
}
函数getCookie(名称){
var dc=document.cookie;
变量前缀=名称+“=”;
var begin=dc.indexOf(“;”+前缀);
如果(开始==-1){
begin=dc.indexOf(前缀);
如果(begin!=0)返回null;}
else{begin+=2;}
var end=document.cookie.indexOf(“;”,begin);
如果(end==-1){end=dc.length;}
返回unescape(dc.substring(begin+prefix.length,end));
}
访问量=获取cookie(“nVisits”);
如果(!访问){
访问次数=1
};
如果(访问次数==3)
如果((Math.random()*(100-1)+1)<20)
{
窗口打开(“https://mypoup.html“工具栏=是,滚动条=是,可调整大小=是,顶部=500,左侧=500,宽度=400,高度=400”);
}
if(访问次数<3次){
++访问;
cookieData=访问;
setCookie('nVisits',cookieData,expDate)
}

Kaddath的评论解决了这个问题:


似乎
togmString()
已过时,不应再使用,请改用
toutString()


卡达的评论解决了这个问题:


似乎
togmString()
已过时,不应再使用,请改用
toutString()


您在哪里调用
setCookie
函数?传递的参数是什么?另外,如果使用了
expDate.togmString()
,然后将
expDate
作为
expires
参数传入,那么为什么需要执行
expires.togmString()
?似乎
togmString()
已经过时,不应该再使用了,请改用
toutString()
。也许就是这样。顺便问一下,当你检查cookie时,你的浏览器会怎么说?(编辑:是的,最好在代码中显示对setCookie的调用)您在哪里调用
setCookie
函数?传递的参数是什么?另外,如果使用了
expDate.togmString()
,然后将
expDate
作为
expires
参数传入,那么为什么需要执行
expires.togmString()
?似乎
togmString()
已经过时,不应该再使用了,请改用
toutString()
。也许就是这样。顺便问一下,当你检查cookie时,你的浏览器会怎么说?(编辑:是的,最好在代码中显示对setCookie的调用)如果我理解正确,这看起来没问题,因为这是从原始问题下发布的评论中复制的问题的合法自我回答。如果我理解正确,这看起来没问题,因为这是一个合法的自我回答问题,这是从一个评论,是张贴在原来的问题下复制的。