我正在使用jcookie存储某些信息(用户购物车),并且想法是在用户将来访问网站时重新显示购物车的内容。
因此,如果用户将项目添加到他的购物车中,i)关闭浏览器并在一段时间后打开新的浏览器窗口或者ii)打开一个新标签:在这两种情况下都应该看到该项目已添加到购物车
我正在使用jcookie.js库。 我用来创建cookie并向其添加购物车内容的代码是:
$.cookie('rented_car', $(rentContainer).html());
$.cookie('rented_car_timings', $(divRentalSumm).html());
当页面加载时,我的index.html
<script type="text/javascript">
window.onload=checkCookies;
</script>
其中checkcookies()的定义如下:
function checkCookies(){
var rented_car_timings_cookie = $.cookie("rented_car_timings");
var $rentTimingsContainer = $('<div class="module">' + rented_car_timings_cookie + '</div>');
var rented_car_cookie = $.cookie("rented_car");
var $rentContainer = $('<div class="module">' + rented_car_cookie + '</div>');
if(rented_car_timings_cookie && rented_car_cookie){
$('#rentit').html('');
$('#rentit').append($rentTimingsContainer);
$('#rentit').append($rentContainer);
}
}
现在我遇到的问题是,如果我刷新同一页面或在同一个浏览器窗口中打开一个新标签,则cookie可以正常工作:我能够看到添加到购物车的内容。 但是,如果我打开一个新窗口,那么我看不出相同的情况。任何人都可以在我的逻辑中指出问题吗?
答案 0 :(得分:1)
$.cookie('rented_car', $(rentContainer).html(),{ expires: 20});
用于显式设置到期时间,默认到期时间是浏览器会话关闭时。