请看一下这个小提琴: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,但在那里一切正常。
我有点担心这个,因为我没有玩设置,所以这意味着具有相同版本的其他人(/访客)可能会遇到相同的事情。这种“奇怪”行为的原因是什么?
答案 0 :(得分:3)
我也有这个问题。我的解决方案是设置路径。
$.cookie('cookieName','value',{ expires: 7, path: '/'});
而不是
$.cookie('cookieName','value',{ expires: 7 });
看起来你在一个cookie上设置路径,而不是另一个。