首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery cookie每次访问都会递增吗?

问jquery cookie每次访问都会递增吗?
EN

Stack Overflow用户
提问于 2012-10-24 21:40:55
回答 1查看 2.6K关注 0票数 1

我使用jquery cookies插件,以便在用户每次访问页面时增加cookie的值。我这样做是为了在第一次访问时显示一些东西,然后在第二次访问时显示一些不同的东西,然后再不显示任何东西。

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

代码语言:javascript
复制
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的值并在每次页面刷新时递增cookie的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-24 22:07:22

我不认为

代码语言:javascript
复制
jQuery.cookie('shownDialog', '1', 'true', {expires: 7});

是有效的表单。它应该是

代码语言:javascript
复制
jQuery.cookie(cookiename, cookieval, extra);

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

如果您想检查是否设置了cookie,请检查它是否为空。

代码语言:javascript
复制
// 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});
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13050523

复制
相关文章

相似问题

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