获取我网站的所有cookie

时间:2011-02-07 09:55:56

标签: php javascript

如何使用js获取我的网站设置的所有Cookie。我不想说 Cookie(“用户名”),但循环遍历所有Cookie并获取我网站的key = value对

4 个答案:

答案 0 :(得分:2)

您可以使用my answer to Javascript getCookie functions中的getCookie并将其拆分为getCookiesgetCookie函数,其中getCookies函数只返回cookies而不是cookies[name]。对于getCookie函数,只需获取getCookies的返回值并在其上使用[name]


更新好的,我只是根据上面的描述添加了这些功能。 :)

答案 1 :(得分: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]);
}

答案 2 :(得分: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;

}

之后,您可以获取cookie并将其写入文档,如下所示:

var cookies = get_cookies_array();
for(var name in cookies) {
  document.write( name + " : " + cookies[name] + "<br />" );
}

答案 3 :(得分: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

的副本