Chrome没有将cookie路径设置为root

Chrome not setting cookie path to root

本文关键字:设置 root 路径 cookie Chrome      更新时间:2023-09-26

我在Javascript中使用以下代码设置cookie:

setCookie('cart_items','product_name');

function setCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

但是在Chrome中cookie路径没有设置为root(/)。相反,它被设置为网页被执行的路径!!

我用IE和FF测试。这两个浏览器都可以正常工作....

Chrome可能有问题,还是我正在使用的cookie创建代码有问题?

In Chrome (16.0.912.63)

路径:/xxxxxxxx xxxxxxx

in FF (6.0)

路径:/

路径:/

发生这种情况的原因是因为chrome默认不允许在本地文件上设置cookie。更多信息请看这个答案:https://stackoverflow.com/a/347997/1324019(答案文本)

Chrome不支持本地文件的cookie(或者像Peter Lyons提到的localhost*),除非你以——enable-file-cookies标志开始。你可以在http://code.google.com/p/chromium/issues/detail?id=535上阅读关于它的讨论。

*Chrome 不支持 cookie如果您直接使用本地IP地址(127.0.0.1)。所以在localhost的情况下,这可能是一个更简单的解决方法。