2013-03-12 74 views
0

嗨我想通过将浏览器状态存储到cookie中来保存浏览器状态。由于某些原因,这似乎并不总是如此,因为它会创建具有相同名称的重复cookie 。这里是我的意思:具有相同名称的重复cookie会产生不良行为

enter image description here

这是我使用与cookies来工作的唯一代码:

$(function() { 
var content = $("#content"); 
var state = $.cookie("layoutState"); 

if (state === "grid") { 
    content.removeClass("content-list").addClass("content-grid"); 
} 

if (state === "list") { 
    content.removeClass("content-grid").addClass("content-list"); 
} 

$("#list").on("click", function (e) { 
    $.cookie("layoutState", "list", { expires: 7, path: "/" }); 
    content.removeClass("content-grid").addClass("content-list"); 
    e.preventDefault(); 
}) 

$("#grid").on("click", function (e) { 
    $.cookie("layoutState", "grid", { expires: 7, path: "/"}); 
    content.removeClass("content-list").addClass("content-grid"); 
    e.preventDefault(); 
}) 

})

我正在使用jQuery cookie插件。

有没有人明白问题是什么我一直试图解决它几个小时没有运气?

回答

2

你可以检查是否存在的cookie,删除和创建一个,如:

if($.cookie("layoutState")) { 
    $.removeCookie('layoutState', { path: '/' }); 
} 
//and create 
$.cookie("layoutState", "grid", { expires: 7, path: "/"}); 
+0

我不得不删除以前的饼干和这个工作 – aleczandru 2013-03-12 07:55:56