我正在努力在我的网站上获得一条横幅广告,以告知访问者有关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/