我正在努力在我的网站上获得一条横幅广告,以告知访问者有关cookie的信息。我想使用jquery来应用此横幅,当人们单击“确定”时,它应该消失。我可以做到这一点,但是如果他们在24小时后再次访问该网站,我希望它能再次出现。我想我可以用cookie来做到这一点,但是我不太确定该怎么做。谁能指出我正确的方向?

最佳答案

jQuery没有内置的cookie处理程序,但是在常规js中确实没有那么难。正如@Tim提到的那样,这是糟糕的用户体验设计,您不应该用这样的弹出窗口来使人烦恼。一次就够了。但我知道为什么您可能要确保它不会每次都弹出。如果需要,可以将日期设置为非常远的日期,以帮助防止它再次出现,直到用户清除那里的cookie。

像这样设置Cookie

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


并像这样检索它。

function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
  {
  c_start = c_value.indexOf(c_name + "=");
  }
if (c_start == -1)
  {
  c_value = null;
  }
else
  {
  c_start = c_value.indexOf("=", c_start) + 1;
  var c_end = c_value.indexOf(";", c_start);
  if (c_end == -1)
  {
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}


您可以像这样使用整个内容...

function checkCookie()
{
var username=getCookie("username");
  if (username!=null && username!="")
  {
  alert("Welcome again " + username);
  }
else
  {
  username=prompt("Please enter your name:","");
  if (username!=null && username!="")
    {
    setCookie("username",username,365);
    }
  }


*直接从此处进行http://www.w3schools.com/js/js_cookies.asp *
}

关于jquery - 如何每24小时调用一次jquery函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18620346/

10-12 12:29
查看更多