2016-11-30 41 views
0

我想使用JavaScript获取浏览器cookie。我尝试了下面的代码,但我没有得到跨域cookie。如何获取浏览器使用JavaScript的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 />"); 
} 

有谁解决这个问题。

+2

如果这是您的问题,您无法从其他域获取Cookie。不可能。 – nicovank

+0

有没有可能使用其他方式获取这些cookie? @nicovank – Harshitha

+0

http://stackoverflow.com/questions/3342140/cross-domain-cookies引用thos链接 –

回答

1

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

每个cookie都有一个定义域,并且您的浏览器会根据您所在的域来判断您可以读取哪些cookie。

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

相关问题