我想使用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 />");
}
有人解决了这个问题。
答案 0 :(得分:1)
在大多数情况下,出于安全原因,您无法阅读跨域Cookie。
每个Cookie都有一个定义域,您的浏览器会根据您所在的域来读取这些域以决定您可以读取哪些Cookie。
如果您可以控制两个域,则可以修改域B上的cookie设置以允许域A读取它们,或者编写cookie getter来获取值。要有创意!