我需要从浏览器获取所有 Cookie

2022-08-30 05:10:51

我需要使用 JavaScript 获取存储在浏览器中的所有 Cookie。如何做到这一点?


答案 1

您只能访问特定网站的 Cookie。使用 document.cookie,您将获得由分号分隔的转义键=值对的列表。

secret=do%20not%20tell%you;last_visit=1225445171794

为了简化访问,您必须解析字符串并取消所有条目的外景:

var getCookies = function(){
  var pairs = document.cookie.split(";");
  var cookies = {};
  for (var i=0; i<pairs.length; i++){
    var pair = pairs[i].split("=");
    cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
  }
  return cookies;
}

所以你以后可能会写:

var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"

答案 2
  1. 您无法看到其他网站的 Cookie。
  2. 您无法看到 HttpOnly Cookie。
  3. 您可以看到的所有 Cookie 都位于 document.cookie 属性中,该属性包含一个以分号分隔的对列表。name=value