【问题标题】:Modal cookie not working in IE模态cookie在IE中不起作用
【发布时间】:2023-03-26 11:35:01
【问题描述】:

我有一个弹出模式,它使用 cookie 在用户关闭它后阻止它再次打开,如下所示:

$(document).ready(function() {
  if (document.cookie.indexOf("nomodal") <= 0) {
    $("#video-modal").addClass("open");
  };
});

function closeModal() {
  document.cookie = "nomodal=true; max-age=" + 60 * 60 * 24 * 365;
  $("#video-modal").removeClass("open");
}; 

这在 Firefox 和 Chrome 中运行良好,但似乎不适用于 IE (11)。刷新后模态框会不断弹出。有谁知道我该如何解决这个问题?

【问题讨论】:

    标签: javascript jquery internet-explorer cookies


    【解决方案1】:
    (document.cookie.indexOf("nomodal") <= 0) 
    

    应该是

     (document.cookie.indexOf("nomodal") < 0) 
    

    indexOf 从 0 开始,如果没有找到则为 -1

    【讨论】:

    • 谢谢,现在可以刷新了。但是,如果我关闭并打开 IE,它仍然会打开。有什么想法吗?
    • cookies 会自动过期,除非您将过期时间添加为字符串的一部分。
    • 这不是 max-age 在我的脚本中所做的吗?这至少适用于 Chrome 和 Firefox。
    • 什么版本的IE?低于版本 9 不支持最大年龄。也尝试在 ; 之间留出空间和最大值
    • 它发生在 IE 11 中。空间没有区别。还有其他我应该使用的设置到期时间的方法吗?
    猜你喜欢
    • 2012-11-09
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多