我编写了一个简单的 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=/';
关于javascript - Cookie 在 Safari 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28054699/