首先在checkCookie函数中调用getCookie
函数,如下所示:
var username=getCookie("username");
这就是功能:
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);
}
}
}
我对整体情况感到迷茫。为什么你会分开;
,主要是x
和y
行的原因是什么。 The source is here。我感谢任何提示或建议。
答案 0 :(得分:2)
获取cookie值的最有效方法是使用正则表达式。
function cookie_get(n){
return (n=(document.cookie+';').match(new RegExp(n+'=.*;')))&&n[0].split(/=|;/)[1]
}
答案 1 :(得分:1)
Cookie始终存储为:key1 = value1; key2 = value2
所以分裂;是将所有键值对读入ARRcookies变量。 然后,对于每个cookie,将密钥读入x,将值读入y