JQuery首页首次访问

时间:2012-05-10 10:17:18

标签: jquery modal-dialog bpopup

我已使用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相关的处理程序呢?

提前感谢您的帮助。非常感谢。

3 个答案:

答案 0 :(得分: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);

然后只需检查是否使用readCookie()设置了该Cookie。

答案 1 :(得分: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

答案 2 :(得分:0)

您可以使用此Cookie pluign在代码中添加条件,以检查Cookie是否已存在。喜欢这个

if($.cookie('first_visit') != '0'){
    //Show modal as Cookie is not set
    $('#announce').bPopup();
    // now set cookie 
    $.cookie('first_visit', '0'); 
}