我如何使用我的代码将cookie设置为在x天后过期
How can I set a cookie to expire after x days with this code I have?
可能重复:
什么是";最佳";使用JavaScript 获取和设置单个cookie值的方法
所以我有这个代码(我没有做(,它基本上是用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>
要在cookie上设置30天的过期时间,您需要在cookie中添加一个过期时间。这里有一个非常简单的cookie函数,可以设置N天的cookie:
function createCookie(name, value, days) {
var date, expires;
if (days) {
date = new Date();
date.setDate(date.getDate()+days);
expires = "; expires="+date.toUTCString();
} else {
expires = "";
}
document.cookie = name+"="+value+expires+"; path=/";
}
通过在cookie中设置适当的过期日期,它将在那时自动删除。
然后,当你的页面加载时(你必须等到页面加载完成后才能尝试修改它(,你可以检查你的cookie closeAd
是否设置好,如果设置好了,执行代码隐藏广告。为了获得更无闪烁的观看体验(这样广告就不会先显示打开,然后关闭(,你既可以从隐藏广告开始,也可以只在没有cookie的情况下显示。或者,如果没有cookie,则只能动态地将其添加到页面中。
相关文章:
- Laravel:在 ajax 请求的会话过期后重定向到登录
- FullCalendar夏令时将事件向后移动1天
- 添加1天后发布的日期
- JQuery Cookie在1分钟后过期
- 如何将日期设置为 72 小时后过期
- 输入标签上 7 天后的日期
- Openfire 会在一天后删除 pub sub 节点(而不是在服务器重新启动或删除缓存后)
- 几天后,昨天停止工作jQuery
- 如何在 JavaScript 计时器过期后重定向
- 我的 Javascript cookie 在会话时过期,而不是在 30 天后过期
- jQuery 日期选择器,退房日期是入住日期后的一天
- 如何从jquery日期选择器禁用周末和特定时间后的前几天的假期
- Javascript new Date(字符串)返回一天后
- 如何在15天后自动删除数据库中的一行数据
- Oracle APEX,使页面在一段时间后过期
- Javascript设置cookie在12小时后过期
- node . js插座.io脚本在1-2天后被SIGSEGV杀死
- 几天后删除图像
- 我如何使用我的代码将cookie设置为在x天后过期
- 设置cookie在3小时后过期