我需要从浏览器中获取所有cookie

93 javascript cookies

我需要使用javascript将所有cookie存储在浏览器中.怎么做到呢?

aem*_*kei 77

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

secret=do%20not%20tell%you;last_visit=1225445171794
Run Code Online (Sandbox Code Playgroud)

要简化访问,您必须解析字符串并对所有条目进行unescape:

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;
}
Run Code Online (Sandbox Code Playgroud)

所以你以后可以写:

var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"
Run Code Online (Sandbox Code Playgroud)

  • 这不会在分号(";")之后占据空间,所以键在前面有一个空格...使用/; ?/拆分时拆除它们? (5认同)

Fra*_*nov 30

  1. 您无法看到其他网站的Cookie.
  2. 您无法看到仅限http的cookie.
  3. 您可以看到的所有cookie都在HttpOnly属性中,其中包含以分号分隔的名称=值对列表.


Phi*_*Lho 26

你不能.出于安全考虑,出于安全考虑,您只能访问由您的站点设置的cookie.StackOverflow无法查看UserVoice设置的Cookie或亚马逊设置的Cookie.

  • 实际上,Facebook在每个网站上都有自己的Cookie ...使用它的Like按钮.我打赌谷歌在+1按钮甚至网站统计脚本上做同样的事情. (15认同)
  • facebook怎么做的......?我总是看到Facebook显示与我浏览谷歌相关的广告! (3认同)
  • 谢谢你……让我大开眼界。我认为任何与它们相关的应用程序都可以,包括使用社交媒体帐户应用程序登录。 (2认同)
  • @SoursopTree - 不是AdChoices吗?Facebook使用AdChoices,这是一项Google服务,可根据您在Google上的搜索显示内容.Stackoverflow也使用AdChoices.我可能会对确切的细节有所了解 - 但我猜这就是你想到的. (2认同)

Cod*_*yer 12

要检索在浏览器中打开的当前文档的所有cookie,请再次使用该document.cookie属性.