我使用https://github.com/carhartl/jquery-cookie的jQuery.min.js 和我的cookie代码:
$(function() {
//hide all divs just for the purpose of this example,
//you should have the divs hidden with your css
//check if the cookie is already setted
if ($.cookie("_usci") === undefined){
$.cookie("_usci",1);
} else { //else..well
var numValue = parseInt($.cookie("_usci"));
numValue = numValue + 1;
else{ //no issues, assign the incremented value
$.cookie("_usci",numValue.toString());
}
}
//just to add a class number to it
//$('.current-number').addClass($.cookie("currentDiv"));
//to add 'n + 1/2/3/4/5/6/7/8/9/10 etc.'
$('.current-number').addClass("n"+$.cookie("_usci"));
$('.current-number-large').addClass("n"+$.cookie("_usci"));
});
由于某种原因,当我退出浏览器并再次打开它时,cookie不再设置并将重置,我该如何解决?
答案 0 :(得分:2)
$.cookie('the_cookie', 'the_value', { expires: 7 });
expire
定义cookie的生命周期。值可以是一个数字,它将被解释为创建时的天数或Date对象。如果省略,则cookie将成为会话cookie。
所以对你的情况来说:
$.cookie('_usci', numValue.toString(), { expires: 5 * 365 });
这将使您的Cookie在五年后到期。
答案 1 :(得分:0)
您必须在创建Cookie时添加过期日期:
$.cookie('the_cookie', 'the_value', { expires: 7 }); // this cookie expires in 7 days
来自文档:
Define lifetime of the cookie. Value can be a Number which will be interpreted as days from time of creation or a Date object. If omitted, the cookie becomes a session cookie.
作为会话cookie,它将在浏览器关闭时自动删除。
在您的代码中:
//check if the cookie is already setted
if ($.cookie("_usci") === undefined){
$.cookie("_usci", 1, { expires: 7 });
} else {
var numValue = parseInt($.cookie("_usci"));
$.cookie("_usci", numValue++, { expires: 7 });
}