jquery cookie增加每次访问?

时间:2012-10-24 13:40:55

标签: jquery jquery-cookie

我正在使用jquery cookies插件,以便每次用户访问页面时增加cookie的值。我这样做,所以我可以在第一次访问时显示一些内容,然后在第二次访问时显示不同的内容,然后在此之后没有任何内容。

所以我需要确定用户是第一次访问,第二次访问以及之后的所有访问。

var cookieTime = jQuery.cookie('shownDialog');
cookie_value = parseInt(cookieTime);

if (cookieTime != 'true') {         
    jQuery.cookie('shownDialog', '1', 'true', {expires: 7});
    cookie_value ++;
}

else if (cookieTime == 'true' && cookie_value > 0){
    cookie_value ++;
}

我每次刷新页面时都会重置此代码。而不是将值保存在cookie中。我不确定保留cookie值的最佳方法,并在每次页面刷新时递增它?

1 个答案:

答案 0 :(得分:2)

我不认为

jQuery.cookie('shownDialog', '1', 'true', {expires: 7});

是有效表格。它应该是

jQuery.cookie(cookiename, cookieval, extra);

来源:https://github.com/carhartl/jquery-cookie

如果要检查cookie是否已设置,请检查它是否为空。

// Check if the cookie exists.
if (jQuery.cookie('shownDialog') == null) {
    // If the cookie doesn't exist, save the cookie with the value of 1
    jQuery.cookie('shownDialog', '1', {expires: 7});
} else {
    // If the cookie exists, take the value
    var cookie_value = jQuery.cookie('shownDialog');
    // Convert the value to an int to make sure
    cookie_value = parseInt(cookie_value);
    // Add 1 to the cookie_value
    cookie_value++;

    // Or make a pretty one liner
    // cookie_value = parseInt(jQuery.cookie('shownDialog')) + 1;

    // Save the incremented value to the cookie
    jQuery.cookie('shownDialog', cookie_value, {expires: 7});
}