Hướng dẫn set path for cookie javascript - đặt đường dẫn cho javascript cookie

69

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang lưu một số giá trị cookie trên một trang ASP. Tôi muốn đặt đường dẫn gốc cho cookie để cookie sẽ có sẵn trên tất cả các trang.

Hiện tại đường dẫn cookie là /v/abcfile/frontend/

Làm ơn giúp tôi.

Hướng dẫn set path for cookie javascript - đặt đường dẫn cho javascript cookie

James Skemp

7.8369 huy hiệu vàng63 Huy hiệu bạc101 Huy hiệu đồng9 gold badges63 silver badges101 bronze badges

Hỏi ngày 26 tháng 9 năm 2011 lúc 5:58Sep 26, 2011 at 5:58

Đơn giản: document.cookie="name=value;path=/";

Có một điểm tiêu cực cho nónegative point to it

Bây giờ, cookie sẽ có sẵn cho tất cả các thư mục trên miền mà nó được đặt từ. Nếu trang web chỉ là một trong số nhiều người ở miền đó, thì tốt nhất là không làm điều này bởi vì mọi người khác cũng sẽ có quyền truy cập vào thông tin cookie của bạn.

Hướng dẫn set path for cookie javascript - đặt đường dẫn cho javascript cookie

Đã trả lời ngày 9 tháng 8 năm 2013 lúc 20:53Aug 9, 2013 at 20:53

TriptaminerTriptaminerTriptaminer

1.2251 Huy hiệu vàng8 Huy hiệu bạc8 Huy hiệu đồng1 gold badge8 silver badges8 bronze badges

5

Để truy cập cookie trong toàn bộ ứng dụng (sử dụng đường dẫn =/): (use 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=/"; 
}

Note:

Nếu bạn đặt path=/, bây giờ cookie có sẵn cho toàn bộ ứng dụng/miền. Nếu bạn không chỉ định đường dẫn thì cookie hiện tại sẽ lưu chỉ cho trang hiện tại, bạn không thể truy cập nó trên (các) trang khác.
Now the cookie is available for whole application/domain. If you not specify the path then current cookie is save just for the current page you can't access it on another page(s).

Để biết thêm thông tin đọc- http://www.quirksmode.org/js/cookies.html (Phần và phần đường dẫn)

Nếu bạn sử dụng cookie trong jQuery bằng plugin jQuery-cookie:

$.cookie('name', 'value', { expires: 7, path: '/' });
//or
$.cookie('name', 'value', { path: '/' });

Đã trả lời ngày 14 tháng 11 năm 2014 lúc 9:27Nov 14, 2014 at 9:27

Hướng dẫn set path for cookie javascript - đặt đường dẫn cho javascript cookie

GrvtyagigrvtyagiGrvTyagi

4.05333 Huy hiệu bạc37 Huy hiệu đồng33 silver badges37 bronze badges

1

document.cookie = "cookiename=Some Name; path=/";

Điều này sẽ làm

Đã trả lời ngày 20 tháng 1 năm 2018 lúc 23:09Jan 20, 2018 at 23:09

Hướng dẫn set path for cookie javascript - đặt đường dẫn cho javascript cookie

Xem https://developer.mozilla.org/en/dom/document.cookie để biết thêm tài liệu:

 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" : "");  
   }

Đã trả lời ngày 26 tháng 9 năm 2011 lúc 6:02Sep 26, 2011 at 6:02

Nữ tínhFemi

64K8 Huy hiệu vàng117 Huy hiệu bạc147 Huy hiệu đồng8 gold badges117 silver badges147 bronze badges

Điều này sẽ giúp....

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

 function getCookie(name) {
   var nameEQ = name + "=";
   var ca = document.cookie.split(';');
   for(var i=0;i < ca.length;i++) {
       var c = ca[i];
       while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return 
        c.substring(nameEQ.length,c.length);
  }
return null;
}

Đã trả lời ngày 24 tháng 5 năm 2018 lúc 6:48May 24, 2018 at 6:48

OMEROMEROmer

5246 Huy hiệu bạc18 Huy hiệu Đồng6 silver badges18 bronze badges

1

Viết một cookie mới..
; path = path (ví dụ: ' /', ' / myDir') nếu không được chỉ định, mặc định theo đường dẫn hiện tại của vị trí tài liệu hiện tại ..
; DOMAIN = DOMAIN (ví dụ: 'example.com' hoặc 'subdomain.example.com'). ....
; Max-Age = Max-Age-seconds (ví dụ: 60*60*24*365 hoặc 31536000 trong một năm).
Bạn không thể truy cập cookie từ một đường dẫn khác - nếu không thì đó sẽ là lỗ bảo mật. Cách duy nhất tôi có thể nghĩ đến là tạo / thanh đặt cookie có đường dẫn = / để tất cả các trang trong / (bao gồm / foo) có thể truy cập nó. Lưu câu trả lời này. - otherwise it would be a security hole. The only way I can think of is making /bar set a cookie whose path=/ so that all pages in / (including /foo ) could access it. Save this answer.
JavaScript cho phép bạn đặt cookie có sẵn cho tất cả các tên miền phụ của Bar.com từ bên trong tên miền phụ foo.bar.com.Tuy nhiên, nó sẽ không cho phép bạn đặt cookie cho tất cả các tên miền phụ Co.uk từ bên trong foo.đồng.OK Subdomain vì Co.uk là miền cấp cao nhất.. However, it won't let you set a cookie to all co.uk subdomains from within the foo. co. ok subdomain because co.uk is a Top-Level Domain.
Tham số Pather chỉ định vị trí tài liệu cho cookie, vì vậy nó được gán cho một đường dẫn cụ thể và chỉ được gửi đến máy chủ nếu đường dẫn khớp với vị trí tài liệu hiện tại hoặc tài liệu cha: cha mẹ: tài liệu.specifies a document location for the cookie, so it's assigned to a specific path, and sent to the server only if the path matches the current document location, or a parent: document.