我正在尝试在页面上实现Cookie;我无法让它正常运行。我也想存储一些变量的值。我意识到这是非常广泛的,但我对jscript cookies知之甚少,而且我正在研究w3schools的例子。如果有人有一些有用的洞察力推动我这将是伟大的。这就是我到目前为止所做的:
var days=365;
function setCookie(child,user,days)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + days);
var child=escape(user) + ((365==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=child + "=" + child;
}
function getCookie(child)
{
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==child)
{
return unescape(y);
}
}
}
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,days);
}
}
}
答案 0 :(得分:2)
是的,你在第1行有一个解析错误。正如Matt所说,“365”在这里不合法。
此外,看起来这段代码永远不会评估为真......
if (x==child)
{
return unescape(y);
}
}
...所以cookie值y永远不会被返回。
在你的代码中还有其他一些看起来有问题的东西,但我会从我在这里提到的内容开始。另外,尝试使用一些JavaScript工具进行调试,即。萤火。