如何使用JavaScript获取浏览器Cookie

时间:2016-11-30 09:49:13

标签: javascript cookies cross-domain

我想使用JavaScript获取浏览器cookie。我尝试了以下代码,但我没有获得跨域cookie。

以下是代码:

function get_cookies_array() {
  var cookies = {};
  if (document.cookie && document.cookie != '') {
    var split = document.cookie.split(';');
    for (var i = 0; i < split.length; i++) {
      var name_value = split[i].split("=");
      name_value[0] = name_value[0].replace(/^ /, '');
      cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
    }
  }
  return cookies;
}
var cookies = get_cookies_array();
for (var name in cookies) {
  document.write(name + " : " + cookies[name] + "<br />");
}

有人解决了这个问题。

1 个答案:

答案 0 :(得分:1)

在大多数情况下,出于安全原因,您无法阅读跨域Cookie。

每个Cookie都有一个定义域,您的浏览器会根据您所在的域来读取这些域以决定您可以读取哪些Cookie。

如果您可以控制两个域,则可以修改域B上的cookie设置以允许域A读取它们,或者编写cookie getter来获取值。要有创意!