【发布时间】:2024-04-29 03:50:01
【问题描述】:
可能重复:
What is the “best” way to get and set a single cookie value using JavaScript
所以我有这段代码(我没有制作),它基本上制作了一个带有 X 的容器,所以当我按下 X 时,div 容器关闭。但是,当您刷新页面时,div 容器会再次出现。
我怎样才能做到这一点,当用户按下 X 按钮时,该用户将永远不会在该页面上再次看到 div 容器(或在 30 天之类的固定时间内)?
如果可能的话,我想更进一步,当用户按下 X 按钮时,他/她将永远不会在我的网站上再次看到 div 容器,因为我计划实施相同的 div 容器在我的网站上。
希望这不会太令人困惑,并且有人可以帮助我。谢谢!
HTML 代码:
<div id="bottom_ad">
<div id="close_ad" onclick="close_bottom_ad();">X</div>
<!-- Ad Content -->
</div>
CSS 代码:
#bottom_ad
{
position: absolute;
right: 0;
bottom: 0;
left: 0;
height: 80px;
background: #000;
}
#close_ad
{
position: absolute;
top: 8px;
right: 8px;
width: 15px;
height: 15px;
color: #fff;
}
JavaScript(位于文件底部,标签之前。) 代码:
<script type="text/javascript">
// I may have sorta kinda taken this function from W3Schools. :S
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);
}
}
}
var ad_cookie = getCookie("closedAd");
if (ad_cookie != null && ad_cookie != "")
{
document.getElementById("bottom_ad").style.display="none";
}
function close_bottom_ad()
{
document.getElementById("bottom_ad").style.display="none";
document.cookie = "closedAd=true;";
}
</script>
【问题讨论】:
-
不是吗?我不知道。我从不接触 Javascript,但我想要这种效果。而且我这辈子从来没有见过那个线程。
-
嗯,你想知道如何设置cookie吗?所以我在这里搜索并找到了这个问题。我认为接受的答案会帮助你,并且正在做你想做的事。所以我决定投票赞成将其作为副本关闭。
-
如果您将 html 原样放置在包含脚本的所有页面上,则在人们删除 cookie 之前,广告永远不会显示。如果您的页面与其他页面不在同一目录中,则需要添加 cookie 的路径:
document.cookie = "closedAd=true;path=/";请参阅另一个问题的 createCookie 以获取具有到期日期的页面 -
好的,我明白了。现在实际上是凌晨 4 点 47 分。我醒来时会检查它。谢谢。
-
你说的真有趣,你这辈子都没见过这个帖子:D,你不在法庭上
标签: javascript cookies