首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示模态-每天仅显示一次

显示模态-每天仅显示一次
EN

Stack Overflow用户
提问于 2014-01-21 16:40:11
回答 3查看 5.5K关注 0票数 2

当我的网站加载时,我正在使用显示模式加载弹出窗口。但是,每次页面加载时都会加载弹出窗口。由于一个访问者可以访问多个页面或多个实例,这种限制对我们的访问者体验是不利的。

下面是我用来在页面加载后加载模式的js。

代码语言:javascript
运行
复制
jQuery(document).ready(function($) {
/* Pop-up
================================================= */

$(function() {
    function showpanel() {
    $('.reveal-modal').reveal({
        animation: 'fade',
        animationspeed: 800
    });
    }
    setTimeout(showpanel, 4000)
   }); 
});

我可以添加什么来确保无论访问者访问多少不同的页面,显示模式在特定的一天只加载一次?

都会很感谢你的帮助。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2014-01-21 16:45:27

要做到这一点,最简单的方法是使用只持续24小时的cookie

您要做的是检查是否有cookie,如果没有,则显示对话框

代码语言:javascript
运行
复制
if($.cookie('MyCookie') != 'DialogShown'){
  showpanel();
  setCookie();
}

下面是设置它的代码

代码语言:javascript
运行
复制
function setCookie(){
    $.cookie('MyCookie', 'DialogShown',
      {
         expires: date.getTime() + (24 * 60 * 60 * 1000) // now add 24 hours
      });
}

然而,请注意,用户可能已经将他们的浏览器配置为拒绝cookies,而在英国(可能还有其他国家有关于使用cookies的网站的regulations )。

票数 2
EN

Stack Overflow用户

发布于 2014-01-21 16:45:36

您将需要持久存储,如cookies、localStorage或服务器端存储。

代码语言:javascript
运行
复制
$(function() {
    if ( localStorage.getItem('seen') != (new Date()).getDate()) {
        setTimeout(showpanel, 4000);
    }
});


function showpanel() {
    $('.reveal-modal').reveal({
        animation: 'fade',
        animationspeed: 800
    });

    localStorage.setItem('seen', (new Date()).getDate());
}

MDN上有一个针对旧浏览器的polyfill

票数 2
EN

Stack Overflow用户

发布于 2014-01-21 16:45:27

对于客户端解决方案,您可以使用cookie在用户浏览器中进行设置,并将其设置为过期1天。

代码语言:javascript
运行
复制
$.cookie('the_cookie', 'the_value', { expires: 1 });

有关详细信息,请参阅:https://github.com/carhartl/jquery-cookie

编辑:

在html页面中包含Jquery-cookie插件,然后添加以下代码

代码语言:javascript
运行
复制
$(function() {
    if($.cookie('alreadyShow') === null) {
        $.cookie('alreadyShow', true, {expires: 1});

        $('.reveal-modal').reveal({
           animation: 'fade',
           animationspeed: 800
       });
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21253015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档