子文件夹中没有设置cookie

时间:2013-12-10 10:24:21

标签: javascript cookies permissions subdirectory

我有一个功能,可以设置一个记住点击图像的cookie。如果文件在根文件夹中,一切正常。如果我将相同的文件放在子文件夹中,那么cookie就不会被设置。

这是我的代码。

function FensterOeffnen (Variable) {
    var a = new Date();
    a = new Date(a.getTime() +1000*5);
    document.cookie = 'uebergabe='+Variable+'; expires='+ 
                      a.toGMTString()+';';
    window.location.href="../test2.html";   
} 

1 个答案:

答案 0 :(得分:3)

这就是document.cookie默认工作的方式。由于您没有为cookie指定路径,因此默认值是脚本所在的子文件夹。参考:

  

以下任何cookie属性值都可以选择遵循   键值对,指定要设置/更新的cookie,并以a开头   分号分隔符:

     
      
  • ;path=path(例如,'/','/ mydir')如果未指定,则默认为当前文档位置的当前路径。
  •   

因此,您设置的Cookie具有以下路径: /mydir。这意味着它对该路径according to RFC 6265之外的脚本无效。

如果您希望在整个网站中访问Cookie,则必须手动添加;path=/

document.cookie = 'uebergabe='+Variable+'; expires='+ 
                  a.toGMTString()+';path=/';