2011-02-07 19 views
4

我怎样才能得到我的网站使用js设置的所有cookie。我不想说Cookie(“用户名”)但通过所有cookie循环并获得我的网站的密钥=值对得到我的网站的所有饼干

+0

您已经标记了这个PHP和JavaScript。你使用哪种语言?它们都没有内置函数,名为`getCookie`。 – Quentin 2011-02-07 09:58:31

回答

2
var cookies = document.cookie.split(/;/); 
for (var i = 0, len = cookies.length; i < len; i++) { 
    var cookie = cookies[i].split(/=/); 
    alert("key: " + cookie[0] + ", value: " + cookie[1]); 
} 
+0

[document.cookie()](https://developer.mozilla.org/en-US/docs/Web/API/document.cookie)尽可能地接近,但它不会检索所有的cookie该网站 - 它只是从当前*文档*中检索cookie。 – 2013-10-07 10:23:57

0

请阅读关于在JavaScript中阅读/写入Cookie的信息。

http://www.quirksmode.org/js/cookies.html

您可能正在寻找这样一个解决方案:Get all cookies with Javascript

下面的函数加载所有cookie的项目与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 />"); 
} 
2

您可以使用从my answer to Javascript getCookie functionsgetCookie并分成getCookiesgetCookie功能,其中getCookies函数返回cookies,而不是cookies[name]。而getCookie函数只需返回值getCookies并使用[name]就可以了。


更新好的,我只需根据上述的说明添加的功能。 :)从

0
<html> 
<head> 
<script type="text/javascript"> 
function getCookie(c_name) 
{ 
var i,x,y,ARRcookies=document.cookie.split(";"); 
for (i=0;i<ARRcookies.length;i++) 
    { 
    x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
    y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
    x=x.replace(/^\s+|\s+$/g,""); 
    if (x==c_name) 
    { 
    return unescape(y); 
    } 
    } 
} 

function setCookie(c_name,value,exdays) 
{ 
var exdate=new Date(); 
exdate.setDate(exdate.getDate() + exdays); 
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); 
document.cookie=c_name + "=" + c_value; 
} 

function checkCookie() 
{ 
var username=getCookie("username"); 
if (username!=null && username!="") 
    { 
    alert("Welcome again " + username); 
    } 
else 
    { 
    username=prompt("Please enter your name:",""); 
    if (username!=null && username!="") 
    { 
    setCookie("username",username,365); 
    } 
    } 
} 
</script> 
</head> 
<body onload="checkCookie()"> 
</body> 
</html> 

复制粘贴:http://www.w3schools.com/JS/js_cookies.asp