如何在JavaScript中保存cookie值时设置路径?

use*_*128 52 javascript cookies

我在ASP页面上保存了一些cookie值.我想设置cookie的根路径,以便cookie可以在所有页面上使用.

目前cookie路径是 /v/abcfile/frontend/

请帮我.

小智 86

只是: document.cookie="name=value;path=/";

有一个不利点

现在,cookie将可用于其设置的域上的所有目录.如果该网站只是该域名中的众多网站之一,则最好不要这样做,因为其他人也可以访问您的cookie信息.

  • 也许您应该说“该域的其他网站”而不是“其他人”,因为“其他人”听起来像是您的意思是公众可以访问您的 cookie,但他们不会。 (2认同)

Grv*_*agi 38

对于整个应用程序中的访问cookie(使用path = /):

function createCookie(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=/"; 
}
Run Code Online (Sandbox Code Playgroud)

注意:

如果设置path=/,
现在cookie可用于整个应用程序/域. 如果您未指定路径,则当前cookie仅保存为当前页面,您无法在其他页面上访问该页面.

有关详细信息,请参阅http://www.quirksmode.org/js/cookies.html (域和路径部分)

如果您通过插件jquery-cookie在jquery中使用cookie:

$.cookie('name', 'value', { expires: 7, path: '/' });
//or
$.cookie('name', 'value', { path: '/' });
Run Code Online (Sandbox Code Playgroud)


TRI*_*EMS 7

document.cookie = "cookiename=Some Name; path=/";
Run Code Online (Sandbox Code Playgroud)

这会做


Fem*_*emi 5

有关更多文档,请参阅https://developer.mozilla.org/en/DOM/document.cookie

 setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) {  
     if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/.test(sKey)) { return; }  
     var sExpires = "";  
     if (vEnd) {  
       switch (typeof vEnd) {  
         case "number": sExpires = "; max-age=" + vEnd; break;  
         case "string": sExpires = "; expires=" + vEnd; break;  
         case "object": if (vEnd.hasOwnProperty("toGMTString")) { sExpires = "; expires=" + vEnd.toGMTString(); } break;  
       }  
     }  
     document.cookie = escape(sKey) + "=" + escape(sValue) + sExpires + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "") + (bSecure ? "; secure" : "");  
   }
Run Code Online (Sandbox Code Playgroud)