嗨,我试图通过将浏览器状态存储到 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 插件。
有谁明白问题是什么,我已经尝试解决了几个小时但没有运气?
最佳答案
你可以检查cookie是否存在,删除并创建一个,例如:
if( $.cookie("layoutState") ) {
$.removeCookie('layoutState', { path: '/' });
}
//and create
$.cookie("layoutState", "grid", { expires: 7, path: "/"});
关于javascript - 具有相同名称的重复 cookie 会产生不良行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15355674/