我在两个不同的页面上使用相同的脚本来设置相同的 cookie。我的假设是,即使两个页面的路径(略有不同),它们也会简单地覆盖 cookie,而不是复制其中的条目。
我的第一页的路径是:
example.com/classifieds/businesses
我的第二页的路径是:
example.com/classifieds/businesses/search
所以,我的问题是,cookie 是否依赖于页面?我可以强制他们覆盖现有值,而不是将自己的特定于页面的值写入 cookie 吗?
这是我的 cookie 与重复项的样子:
domain=.example.com; path=/; bdView=column; bdView=detail; domain=.example.com;
设置域的代码(位于头文件中)
var domain = window.location.host.split(/\.(.+)/)[1];
document.cookie = "domain=." + domain;
document.cookie = "path=/";
设置 bdView 的代码(位于我在两个页面中都包含的单独的 js 文件中)
function setCookie(view) {
switch (view) {
case "column":
document.cookie = "bdView=column";
break;
case "list":
document.cookie = "bdView=list";
break;
case "detail":
document.cookie = "bdView=detail";
break;
}
}
所以,我只是错误地使用了cookie。我认为域和路径只是他们自己的东西,但实际上你应该用你想要设置的东西来设置它们。
所以,它应该看起来像这样:
function setCookie(view) {
var domain = window.location.host.split(/\.(.+)/)[1];
switch (view) {
case "column":
document.cookie = "bdView=column; path=/; domain=" + domain;
break;
case "list":
document.cookie = "bdView=list; path=/; domain=" + domain;
break;
case "detail":
document.cookie = "bdView=detail; path=/; domain=" + domain;
break;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)