JS cookie存储时间
我要实现的效果是一个按钮点击,保存一个时间,弹出一个对话框,第二次点击的时候,如果是在同一天就没有对话框,否则有对话框,也就是对话框一天只弹出一次。我知道是在第一次点击的...
我要实现的效果是一个按钮点击,保存一个时间,弹出一个对话框,第二次点击的时候,如果是在同一天就没有对话框,否则有对话框,也就是对话框一天只弹出一次。我知道是在第一次点击的时候,在cookie中写入一个时间,然后第二次的时间和第一次比较。第二次的时间是当前时间我会的,但是我不知道怎么获得第一次点击的时间,烦请高手指点,谢谢,本人只有1财富,不好意思
展开
2个回答
推荐于2017-08-07
展开全部
设置cookie的保存时间,通过cookie的expires性质指定一个终止时间就可以了。也就是说,你在设置cookie的时候,你的cookie字串要像下面这样组合:
1
2
3
var d= new Date();
d.setHours(d.getHours() + (24 * 30)); //保存一个月
document.cookie = "visited=yes; expires=" + d.toGMTString();
1
2
3
var d= new Date();
d.setHours(d.getHours() + (24 * 30)); //保存一个月
document.cookie = "visited=yes; expires=" + d.toGMTString();
展开全部
这还不简单,你可以把你点击的时间也存储到cookie里面就可以了
追问
那是不是需要实例化两个date对象呢,一次是第一次的,一个是第二次的?
追答
//读取Cookie的函数
function readCookie(name) {
var cookieValue = "";
var search = name + "=";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
cookieValue = unescape(document.cookie.substring(offset, end))
}
}
return cookieValue;
}
//写入Cookie的函数
function writeCookie(name, value, hours) {
var expire = "";
if (hours != null) {
expire = new Date((new Date()).getTime() + hours * 3600000);
expire = "; expires=" + expire.toGMTString();
}
document.cookie = name + "=" + escape(value) + expire;
}
writeCookie("firstTime", new Date().getTime(), 24);
var firstTime = readCookie("firstTime");
var now = new Date().getTime();
if(now == firstTime) {
// TODO
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询