JS Cookie设置在2个地方,不会覆盖第一组

时间:2014-06-23 16:23:04

标签: javascript cookies path

我在2个不同的页面上使用相同的脚本来设置相同的cookie。我的假设是,即使两个页面(稍微)是不同的路径,它们也只是覆盖cookie而不是将条目复制到其中。

我的第一页路径是:

example.com/classifieds/businesses

我的第二页路径是:

example.com/classifieds/businesses/search

所以,我的问题是,是否依赖于页面页面;我可以强制它们覆盖现有值,而不是将自己的页面特定值写入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;
    }
}

1 个答案:

答案 0 :(得分:1)

所以,我只是错误地使用cookies。我认为那个领域&路径只是他们自己的东西,但你实际上应该用他们想要设置的东西来设置它们。

所以,它应该是这样的:

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;
    }
}