2011-02-07 21 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