如何设置jQuery Modal关联Cookie的过期时间为7天
jQuery Modal 间隔7天弹出配置说明
你当前使用的代码本身已经实现了「首页首次加载弹出modal,之后7天内不再触发,7天后重新访问首页会再次弹出」的需求,仅存在变量命名不规范的问题,无需修改核心计算逻辑。
逻辑解释
代码中1000*60*60*24*7是有效期的毫秒数计算规则:
- 1000:1秒对应的毫秒数
- 乘以60得到1分钟的毫秒数
- 乘以60得到1小时的毫秒数
- 乘以24得到1天的毫秒数
- 最后乘以7得到7天对应的毫秒数
你代码中把这个值赋值给了名为year的变量属于命名错误,很容易误导后续维护,建议调整为更合理的命名,以下是优化后的代码:
$(window).on('load',function(){ if (document.cookie.indexOf('visited=true') == -1){ $('#ex1').modal({show:true}); // 可直接修改此处数字调整弹出间隔天数 var popupIntervalDays = 7; var cookieExpireMs = 1000*60*60*24*popupIntervalDays; var expires = new Date((new Date()).valueOf() + cookieExpireMs); // 新增path=/确保cookie全站生效,避免多路径下重复弹出问题 document.cookie = "visited=true;expires=" + expires.toUTCString() + ";path=/"; } });
调整方式
如果后续需要修改弹出间隔,直接修改popupIntervalDays的数值即可,比如设置为3就代表每3天弹出一次。
内容的提问来源于stack exchange,提问作者Erik
相关产品推荐
相关产品推荐

