1

我正在使用 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 的值并在每次刷新页面时增加它的最佳方法?

4

1 回答 1

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});
}
于 2012-10-24T14:07:22.060 回答