0

嗨,我正在尝试通过将浏览器状态存储到 cookie 中来保存它。由于某种原因,这似乎并不总是按我想要的方式工作,因为它会创建一个具有相同名称的重复 cookie。这就是我的意思:

在此处输入图像描述

这是我用来处理 cookie 的唯一代码:

$(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 插件。

有谁知道我一直试图解决几个小时但没有运气的问题是什么?

4

1 回答 1

2

您可以检查 cookie 是否存在,删除并创建一个,例如:

if( $.cookie("layoutState") ) {
   $.removeCookie('layoutState', { path: '/' });
}
//and create
$.cookie("layoutState", "grid", { expires: 7, path: "/"});
于 2013-03-12T07:44:02.150 回答