我想要的是获取一个cookie来保存两个值,一个用于名称,一个用于他们访问的最后日期。它只需要绝对基本/简单,但我仍然无法弄明白。
这是我的工作代码,但它只包含用户名,我已尝试通过尝试向此cookie添加值来使日期工作,使另一个cookie保存日期值,但它似乎没有工作为了我。
/*function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
{
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1)
{
c_value = null;
}
else
{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1)
{
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
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 + " you were last here on the "+ ledate);
}
else
{
username=prompt("Please enter your name:","");
if (username!=null && username!="" &&(username.substring(0,1)=='s' ||username.substring(0,1)=='S'))
{
var ledate=new date();
setCookie("username",username, 365);
createCookie("date",ledate,365);
}
else
{
alert('error');
location.reload();
}
}
}
答案 0 :(得分:0)
这是“SAMS自学JavaScript”的片段:
function createCookie(name, value, days, path, domain, secure) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
var expires = date.toGMTString();
}
else var expires = "";
cookieString = name + "=" + escape (value);
if (expires) cookieString += "; expires=" + expires;
if (path) cookieString += "; path=" + escape (path);
if (domain) cookieString += "; domain=" + escape (domain);
if (secure) cookieString += "; secure";
document.cookie = cookieString;
}
希望这有帮助。