javascript Cookie每24小时在窗口打开代码不起作用

时间:2014-07-05 15:32:07

标签: javascript jquery cookies

我有一个简单的弹出代码,只需点击一下即可打开两个网站。

现在问题是它不是每24小时都有效。它每天工作很多次。

我自己的代码出了什么问题?我怎么解决这个问题?

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
  {
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

function setCookie(c_name,value){
var exdays= 1;
var exdate=new Date();
exdate.setHours(exdate.getHours() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

function checkCookie(){
var username1=getCookie("tabligh1");
var usernam = "sendshod";
if(username1==null){
window.open('#','_parent','toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1');
window.focus();
}
if(username1=="" | username1==null){
if(window.open('site adress1','_blank','toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1')){
window.focus();
setCookie("tabligh1",usernam);
}
}
if(username1=="" | username1==null){
if(window.open('site adress2','_blank','toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1')){
window.focus();
setCookie("tabligh1",usernam);
}
}
}
document.onclick = checkCookie;
if ((window.XMLHttpRequest == undefined) && (ActiveXObject != undefined)) window.onload = checkCookie;

1 个答案:

答案 0 :(得分:1)

您的setCookie()功能将Cookie设置为从现在起1小时后过期,而不是从现在起24小时后过期。

正如您在代码中看到的那样:

function setCookie(c_name, value) {
    var exdays = 1;
    var exdate = new Date();
    exdate.setHours(exdate.getHours() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}

您将到期时间设置为距当前时间一小时。也许你的意思是把时间增加一天,而不是一小时?