【问题标题】:Cookie does not work in safariCookie 在 Safari 中不起作用
【发布时间】:2015-01-20 20:37:49
【问题描述】:

我编写了一个简单的 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

也许有人知道问题出在哪里?

【问题讨论】:

    标签: javascript jquery cookies safari


    【解决方案1】:

    改变

    'subscription=1;expires=' + expiration + ';path=/';
    

    'subscription=1;expires=' + expiration.toGMTString() + ';path=/';
    

    【讨论】:

    • 我有同样的问题,但已经有expiration.toGMTString()。过了一会儿,我发现应该 , 用作字段的分隔符(奇怪的是它在 Chrome、FF 和 IE 上工作)。我已经输入了; 并且像魅力一样工作。
    猜你喜欢
    • 2017-09-03
    • 2021-02-05
    • 2015-01-03
    • 2019-01-08
    • 2019-07-12
    • 2013-08-17
    • 2015-05-12
    • 2012-12-15
    • 1970-01-01
    相关资源
    最近更新 更多