2

このフィドルを見てください: 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 });
    });
});

</p>

入力に何かを入力して保存をクリックすると、リストが作成され、Cookie とともに保存されます。問題は、私の XP システムの最新バージョンの firefox が Cookie を保持していないことです。仕事では最新バージョンの Firefox on XP も使用しているため、これは奇妙です。

私は設定をいじっていないので、これについてはちょっと困っています。つまり、同じバージョンを持っている他の人 (/訪問者) が同じことを経験する可能性があるということです。この「奇妙な」動作の原因は何でしょうか?

4

1 に答える 1

3

私もこの問題を抱えていました。私の解決策は、パスを設定することでした。

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

それ以外の

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

1 つの Cookie にパスを設定しているようですが、もう 1 つの Cookie には設定していません。

于 2013-04-30T14:35:27.777 に答える