Jquery Cookies 适用于不同的选项卡,而不适用于不同的浏览器会话
我使用 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 工作,如果我刷新同一页面或在同一浏览器窗口中打开一个新选项卡:我能够看到添加到购物车的内容。 但是,如果我打开一个新窗口,那么我看不到相同的内容。谁能指出我的逻辑问题吗?
I am using jcookie to store certain information (user cart) and the idea is to re display the contents of the cart when the user visits the website at some other point in future.
So if user adds the item to his cart and i) closes the browser and opens a new browser window after some time OR ii) opens a new tab : In both cases should see the item added to the cart
I am using jcookie.js library.
The code I am using to create cookie and add cart contents to it is:
$.cookie('rented_car', $(rentContainer).html());
$.cookie('rented_car_timings', $(divRentalSumm).html());
Also when the page loads, I have in my index.html
<script type="text/javascript">
window.onload=checkCookies;
</script>
where checkcookies() is defined as follows:
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);
}
}
Now the problem I am seeing is that the cookies work if I refresh the same page or open a new tab in the same Browser window: I am able to see content added to cart.
however, If I open a new window , then I do not see the same . Can anyone please point the problem in my logic?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
其工作方式是明确设置过期时间,默认过期时间是浏览器会话关闭时。
works as this sets expiration time explicitly, default expiration is when browser session closes.