1

我已经使用 bpopup 在我的主页上成功添加了全屏弹出窗口。

它工作得很好,但只有在按下按钮时才有效。我希望弹出窗口出现在主页上,并且只在用户第一次访问该网站时出现在主页上。

我的代码是:

<script>
   // Semicolon (;) to ensure closing of earlier scripting
    // Encapsulation
    // $ is assigned to jQuery
    ;(function($) {

         // DOM Ready
        $(function() {

            // Binding a click event
            // From jQuery v.1.7.0 use .on() instead of .bind()
            $('button').bind('click', function(e) {

                // Prevents the default action to be triggered. 
                e.preventDefault();

                // Triggering bPopup when click event is fired
                $('#announce').bPopup();

            });

        });

    })(jQuery);
</script>

这很好用,但我如何向它添加与 cookie 相关的处理程序?

提前感谢您的帮助。它真的很感激。

4

3 回答 3

0

Cookie 插件:https ://github.com/carhartl/jquery-cookie

$.cookie("test", 1);//setting a cookie
$.cookie("test", null);//deleting a cookie
$.cookie("test", 1, { expires : 10 });//setting cookie with time out

当您加载页面时,将 cookie 的值检查为

var showDialog=$.cookie("test");
if(showDialog==1)
//showDialog
于 2012-05-10T10:22:06.430 回答
0

quirksmode

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

你会想要这样的东西:

createCookie("visited", "true", 90);

然后只需检查该 cookie 是否使用readCookie().

于 2012-05-10T10:20:21.593 回答
0

您可以使用此Cookie 插件在代码中添加条件以检查 cookie 是否已存在。像这样

if($.cookie('first_visit') != '0'){
    //Show modal as Cookie is not set
    $('#announce').bPopup();
    // now set cookie 
    $.cookie('first_visit', '0'); 
}
于 2012-05-10T10:26:17.720 回答