javascript - 设置cookie过期时间

标签 javascript jquery cookies bootstrap-modal

我正在设置一个 cookie 以在页面加载时启动模式。 目前,该模式仅发生一次。

我需要每月重置一次,以便每个访问者每月都会弹出一次。

是否可以修改我的代码来实现此目的,或者我是否需要以其他方式进行?任何帮助表示赞赏。

$(document).ready(function () {
//if cookie hasn't been set...
if (document.cookie.indexOf("ModalShown=true")<0) {
    $("#newsletterModal").modal("show");
    //Modal has been shown, now set a cookie so it never comes back
    $("#newsletterModalClose").click(function () {
        $("#newsletterModal").modal("hide");
    });
    document.cookie = "ModalShown=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
}

});

最佳答案

只是不要在 Cookie 中设置静态过期日期,而是设置动态过期日期:

var now = new Date(); //get the current date
now.setMonth(now.getMonth() + 1); //add one month to it
document.cookie = "ModalShown=true; expires=" + now.toUTCString() + "; path=/";

关于javascript - 设置cookie过期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39025368/

相关文章:

javascript - 在 React 中获取点击元素的值

JavaScript 函数导入不起作用

javascript - Jquery 函数在错误时间提交

javascript - 如何在 JqueryUI Selectmenu 中单击所选项目时获取事件

php - Chrome不会删除cookie?

ruby - 使用 sinatra 和 Rack::Session::Encrypted Cookie 根据每个请求更改 Cookie

javascript - 错误代码: 402 when trying to capture Web Page with Casperjs

javascript - 如何在sequelize中转义 `$like`通配符 `%`和 `_`?

javascript - 未捕获错误 : Syntax error, 无法识别的表达式:不支持的伪:标签

jquery - 降临日历 - 使用 cookies 阻止用户两次打开 "calendar door"