繁体   English   中英

获取我网站的所有cookie

[英]get all cookies of my site

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

您可以使用getCookie我的答案为Javascript的getCookie功能 ,并将其分成getCookiesgetCookie函数,这些函数getCookies函数返回cookies ,而不是cookies[name] 而对于getCookie函数只取返回值getCookies并使用[name]就可以了。


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

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]);
}

请阅读有关使用JavaScript读取/编写cookie的信息。

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

您可能正在寻找这样的解决方案: 使用Javascript获取所有cookie

以下函数将所有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 />" );
}
<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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM