Jquery cookie 插件不适用于 Firefox



请看一下这个小提琴:Jsfiddle

$(document).ready(function() {
    var cookie = $.cookie('myDemoCookie');
    // If the cookie has been set in a previous page load, show it in the div directly:
    if (cookie){
        var values = $.parseJSON(cookie);
        var li;
        for (var v in values) {
            li = $('<li><a href="' + values[v]+ '">' + values[v] + '</a></li>');
            $('.jq-text').append(li).show();
        }
    }
    $('.fields a').click(function(e) {
        e.preventDefault();
        var text = $('#inputBox').val();
        var values = $.parseJSON($.cookie('myDemoCookie')) || [];
        values.push(text);
        $.cookie('myDemoCookie',JSON.stringify(values),{expires: 7, path: '/' });
        $(".jq-text").append('<li><a href="' + text + '">' + text + '</a></li>');
    });
    $('#form1').submit(function(e){ e.preventDefault(); })
    $('.jq-text').on('click', 'li', function(e) {
        e.preventDefault();
        var values2 = [];
        $(this).remove();
        $(".jq-text li").each(function(i, item) {
            values2.push($(item).text());
        });
        $.cookie('myDemoCookie', JSON.stringify(values2), { expires: 7 });
    });
});

如果您在输入中输入某些内容并单击保存列表,则将创建并与cookie一起存储。问题是我的xp系统上最新版本的Firefox没有保存cookie。这很奇怪,因为在工作中,我在xp上也有最新版本的Firefox,但是在那里工作正常。

我对此有点困扰,因为我没有玩这些设置,所以这意味着具有相同版本的其他人(/访问者)可能会遇到同样的事情。这种"奇怪"行为的原因可能是什么?

我也有这个问题。我的解决方案是设定路径。

$.cookie('cookieName','value',{ expires: 7, path: '/'});

而不是

$.cookie('cookieName','value',{ expires: 7 });

看起来您在一个 cookie 上设置了路径,而不是另一个。

最新更新