我写了一个简单的div,当用户点击(X)按钮时会隐藏它。如果用户之前关闭了div,则下次用户返回网站时不会出现。所有这些逻辑都使用cookie存储。并且在chrome和firefox中非常完美,但在safari中却没有。
我存储Cookie信息的javascript代码:
$( 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
也许有人知道问题在哪里?
答案 0 :(得分:2)
更改
'subscription=1;expires=' + expiration + ';path=/';
到
'subscription=1;expires=' + expiration.toGMTString() + ';path=/';