我正在创建 cookie,旨在在我的整个网站上共享。
这是创建此类 cookie 的代码:
var setCookie = function(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
var path ="path=/;";
document.cookie = cname + "=" + cvalue + ";" + expires + ";" + path;
};
它看起来非常简单,我使用 path=/
来表明我想要在我的网站上始终创建或修改相同的 cookie。
问题在于它为每个 URL 创建一个 cookie。通过 Mozilla 插件,我可以看到以下内容:
Cookie Name Value Path
timer_is_enabled true /
timer_is_enabled false /foo
timer_is_enabled true /foo/bar
这导致了我的许多错误,因为正在访问的变量不是唯一的,而是许多独立的变量。
知道为什么我会出现这种行为吗?
最佳答案
您的代码应该按预期工作,至少在 path 属性方面是如此。这些其他 cookie 可能是早期测试的残余(遗憾的是,通常无法跟踪给定 cookie 的创建日期,因为浏览器通常不会保留此类信息)。
我建议您从浏览器中删除当前所有 Cookie,然后重试。
关于Javascript 使用 path=/设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39719284/