我想使用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 />");
}
有人解决这个问题吗?
在大多数情况下,出于安全原因,您无法阅读跨域cookie。
每个cookie都有一个定义的域,您的浏览器会读取这些cookie来决定您可以根据自己的域阅读哪些cookie。
如果您对两个域都有控制,则可以修改域B上的cookie设置,以允许通过域A读取它们,或者代码A cookie Getter以获取值。发挥创意!