【问题标题】:Simplemodal popup display once per session?每个会话显示一次简单模式弹出窗口?
【发布时间】:2013-09-25 05:16:42
【问题描述】:

我是 javascript 和 jQuery 的新手。当用户访问我的网站时,我正在使用SimpleModal basic 来显示弹出窗口。它工作得很好,但每次访问者访问主页时,都会显示弹出窗口。

例如:

  • 访问者 A 进入我的主页,弹出窗口第一次显示 - 很棒
  • 访问者 A 进入我网站内的某个页面,然后单击徽标返回首页,弹出窗口第二次显示,并且每次访问者 A 返回首页时都显示 - 这不好。

我需要这个弹出窗口在每个会话中只显示一次。

我在网上搜遍了,发现可以使用cookie来解决这个问题,但是我不确定如何将cookie函数绑定到模态脚本的函数中。

如何实现cookie来跟踪模态功能,并在页面加载时只显示一次?

这是加载模态内容的脚本:

<?php if($_SERVER['REQUEST_URI'] == '/'): ?>


<script type="text/javascript" src="<?php bloginfo(template_url);?>/assets/javascripts/jquery.leanModal.min.js"></script>

<script type="text/javascript">
    jQuery(document).ready(function() { 
        jQuery('#basic-modal-content').modal();

    });
</script>
<?php endif;?>

【问题讨论】:

标签: javascript php jquery cookies simplemodal


【解决方案1】:

您可以使用名为jQuery cookie 的jquery 插件来执行此操作,下载它并使用脚本标签将其包含在页面中;将您的代码更改为以下

<script type="text/javascript">
    jQuery(document).ready(function() { 
        if (jQuery.cookie('shown_modal')==undefined) {
           jQuery.cookie('shown_modal', 'true');
           jQuery('#basic-modal-content').modal();
        }
    });
</script>

【讨论】:

  • 如果您认为这是答案,请在评论中链接(或投票关闭,如果您已获得所需的声誉)到重复的问答材料,其中问题更恰当地提出。这个问题实际上与 simplemodal 无关,而是关于在 HTTP 请求中使用 cookie 以及 jquery 如何为其提供 API。见How to use cookie , JQuery, Javascript?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多