Javascript 如何在jQuery中使用cookies显示弹出窗口?

Javascript 如何在jQuery中使用cookies显示弹出窗口?,javascript,jquery,Javascript,Jquery,我想显示一个弹出窗口三天,一天不超过三次。我怎样才能做到这一点 HTML模式弹出窗口 这里是一个开始,使用和 基本上它: 获取客户端时间 检查是否首次访问该站点 如果是首次访问,它将在3天后设置最终过期日期时间cookie 并将过期cookie设置为false 它不是第一次访问,而是检查客户端时间是否大于最终到期cookie时间 如果是,它将删除所有cookie并将过期cookie设置为true 如果不是,它会根据一天中的时间检查早上、下午和晚上的饼干 如果这是一天中某个特定时间的首次访

我想显示一个弹出窗口三天,一天不超过三次。我怎样才能做到这一点

HTML模式弹出窗口


这里是一个开始,使用和

基本上它:

  • 获取客户端时间
  • 检查是否首次访问该站点
  • 如果是首次访问,它将在3天后设置最终过期日期时间cookie
  • 并将过期cookie设置为false
  • 它不是第一次访问,而是检查客户端时间是否大于最终到期cookie时间
  • 如果是,它将删除所有cookie并将过期cookie设置为true
  • 如果不是,它会根据一天中的时间检查早上、下午和晚上的饼干
  • 如果这是一天中某个特定时间的首次访问,它将显示一个弹出窗口
  • 还可以根据一天中的时间更改问候语文本,例如:

不是很优雅或简洁,但希望展示得足够好,让你做出一些东西

测试时,如果要查看已设置的所有cookie,可以使用:

Cookies.get();
要删除Cookie,您可以使用:

Cookies.remove(“cookie\u name\u here”);
上午、下午和晚上的定义如下:

0400 to 1200  
1200 to 1700  
1700 to 0400  
但是你可以随意改变它们

javascript

//获取客户端的当前时间
var client_time_now=新日期();
var client_time_now_hour=client_time_now.getHours();
log(“客户端时间现在:+client时间现在”);
log(“客户端时间现在小时:+客户端时间现在小时”);
//查看客户是否已访问该站点
var final_expiration_date_time=Cookies.get(“final_expiration_date_time”);
//如果你第一次来
如果(最终到期日时间===未定义){
log(“这是您第一次访问”);
//从现在起3天内设置到期日期
//见:https://stackoverflow.com/a/56728401  
var final_expiration_date_time_value=新日期(date.now()+(3600*1000*72));
//要测试有效期,请取消下面的注释
//var最终到期日时间值=新日期();
日志(“最终到期日时间值:“+final到期日时间值”);
Cookies.set(“最终到期日期时间”,最终到期日期时间值);
var expired=“false”;
Cookies.set(“过期”,过期);
}
//如果不是第一次就诊,请检查自第一次就诊后是否已过3天
否则{
log(“这不是您第一次访问”);
//当前日期时间是否大于到期日期时间
//见:https://stackoverflow.com/a/493018  
var expired=client\u time\u now.getTime()>新日期(Cookies.get(“final\u expirement\u Date\u time”).getTime();
//为了保持一致性,cookie存储为字符串
expired=expired.toString();
控制台日志(“过期:+过期”);
//如果已过期,请删除Cookie并将expired设置为true
如果(过期==“真”){
Cookies.set(“过期”、“真实”);
饼干。移除(“早上”);
饼干。取出(“下午”);
饼干。移除(“夜晚”);
}否则{
Cookies.set(“过期”、“假”);
}
}
如果(过期==“假”){
//查看访问是否在这些时间内完成
var ready_visted_morning=Cookies.get(“morning”);
var ready_visted_午后=Cookies.get(“午后”);
var ready_visted_night=Cookies.get(“night”);
//上午处理-上午4时至下午12时

如果(客户时间现在一小时>3&&客户时间现在一小时11&&客户时间现在一小时16&&客户时间现在一小时=0&&客户时间现在一小时,那么为了澄清,您想在72小时(3天)内每8小时(每天3次)显示一次,然后不再显示?
0400 to 1200  
1200 to 1700  
1700 to 0400