Cookie 在 Safari 中不起作用
Cookie does not work in safari
我写了一个简单的div,它会在用户单击 (X) 按钮时隐藏。如果用户之前关闭了div,则下次用户返回网站时不会出现。所有这些逻辑都使用 cookie 存储。在 chrome 和 firefox 中完美运行,但在 safari 中不完美。
我的 javascript 存储 cookie 信息的代码:
$( document ).ready(function() {
var cookie = document.cookie;
if (cookie.indexOf('subscription=', 0) !== -1) {
$('#pushDown').css('display', 'none');
} else {
$("#pushDown").slideDown("slow");
}
$("#close").click(function(){
var cookie = document.cookie;
var expiration = new Date();
expiration.setDate(expiration.getDate()+1);
document.cookie = 'subscription=1;expires=' + expiration + ';path=/';
$("#pushDown").slideUp("slow");
});
});
注意:要模拟浏览器刷新,请单击 运行 几次。 jsFiddle link
也许有人知道问题出在哪里?
改变
'subscription=1;expires=' + expiration + ';path=/';
至
'subscription=1;expires=' + expiration.toGMTString() + ';path=/';
我写了一个简单的div,它会在用户单击 (X) 按钮时隐藏。如果用户之前关闭了div,则下次用户返回网站时不会出现。所有这些逻辑都使用 cookie 存储。在 chrome 和 firefox 中完美运行,但在 safari 中不完美。
我的 javascript 存储 cookie 信息的代码:
$( document ).ready(function() {
var cookie = document.cookie;
if (cookie.indexOf('subscription=', 0) !== -1) {
$('#pushDown').css('display', 'none');
} else {
$("#pushDown").slideDown("slow");
}
$("#close").click(function(){
var cookie = document.cookie;
var expiration = new Date();
expiration.setDate(expiration.getDate()+1);
document.cookie = 'subscription=1;expires=' + expiration + ';path=/';
$("#pushDown").slideUp("slow");
});
});
注意:要模拟浏览器刷新,请单击 运行 几次。 jsFiddle link
也许有人知道问题出在哪里?
改变
'subscription=1;expires=' + expiration + ';path=/';
至
'subscription=1;expires=' + expiration.toGMTString() + ';path=/';