在用户浏览器中存储显示模态 cookie

Store reveal modal cookie in user browser

我目前正在使用 Zurb 基础框架,我想创建将在页面加载时显示的模态。我希望这个模式在用户浏览器中存储一个 cookie,这样如果他们之前访问过该网站,他们将不会再次显示相同的模式。

以下是我尝试使用 jQuery 实现此目的的方法,它用于启动基础。请注意,我正在使用 jQuery 无冲突包装器,因为我正在使用 word press 实现它。

jQuery(document).ready(function($){


$('#myModal2').foundation('reveal', 'open');

 var shown = $.cookie('dialogShown');
      if (!shown) {
            setTimeout(function() {
                  $('#myModal2').foundation({modal: true});
                  $.cookie('dialogShown', 'true');
            }, 2000);





      }});

这段代码没有给我想要的输出,模式在页面加载时一遍又一遍地打开,没有存储 cookie,如果有人能帮我解决这个问题,我将不胜感激。谢谢

您粘贴的代码与您编写的完全相同。

文档准备好后,打开显示模块(查看更多:http://foundation.zurb.com/docs/v/4.3.2/components/reveal.html

然后是你的曲奇魔法。如果您想要上述行为,则必须在打开模式之前检查 cookie。 :)

如果有人想知道我已经发布了一个使用 jQuery cookies 插件的解决方案。

jQuery(document).ready(function($) {
 if ($.cookie('modal_shown') == null) {
        $.cookie('modal_shown', 'yes', { expires: 7, path: '/' });
        $("#myModal2").foundation('reveal', 'open');
    }
});