Javascript JS Cookie设置在两个位置,没有';不要覆盖第一组
我在两个不同的页面上使用相同的脚本来设置相同的cookie。我的假设是,即使这两个页面是(稍微)不同的路径,它们也会简单地覆盖cookie,而不是将条目复制到cookie中 我的第一页路径是:Javascript JS Cookie设置在两个位置,没有';不要覆盖第一组,javascript,cookies,path,Javascript,Cookies,Path,我在两个不同的页面上使用相同的脚本来设置相同的cookie。我的假设是,即使这两个页面是(稍微)不同的路径,它们也会简单地覆盖cookie,而不是将条目复制到cookie中 我的第一页路径是: example.com/classifieds/business 我的第二页路径是: example.com/classifieds/business/search 所以,我的问题是,cookies是否依赖于页面;我是否可以强制他们覆盖现有值,而不是将自己的特定于页面的值写入cookie 以下是我的coo
example.com/classifieds/business
我的第二页路径是:
example.com/classifieds/business/search
所以,我的问题是,cookies是否依赖于页面;我是否可以强制他们覆盖现有值,而不是将自己的特定于页面的值写入cookie
以下是我的cookie与副本的外观:
domain=.example.com;路径=/;bdView=列;bdView=细节;domain=.example.com代码>
设置域的代码(位于头文件中)
用于设置bdView的代码(位于单独的js文件中,我将其包含在两个页面中)
所以,我只是用错了饼干。我以为域和路径只是它们自己的东西,但实际上你应该用你试图设置的东西来设置它们
因此,它应该是这样的:
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;
}
}
这看起来不对,cookie中不应该有两个domain
字段。这是我的问题。它是重复的,而不是覆盖。请显示您的代码。Cookie是特定于文件夹的,除非您使用path
选项将其指向父文件夹。这不是我对path=/
所做的吗?
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;
}
}
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;
}
}