如何使用js获取我的网站设置的所有Cookie。我不想说 Cookie(“用户名”),但循环遍历所有Cookie并获取我网站的key = value对
答案 0 :(得分:2)
您可以使用my answer to Javascript getCookie functions中的getCookie
并将其拆分为getCookies
和getCookie
函数,其中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>
的副本