
<html>
<head>
<script type="text/javascript">
function getCookie(c_name)
{
if(document.cookie.length>0)//检查电脑硬盘中是否有cookie
{
c_start=document.cookie.indexOf(c_name +"=")//如果有的话,就用indexOf方法来寻找,它是按c_name+=查找的,查找的是所需cookie在cookie文件中存放的第一个位置
if (c_start!=-1)//没有找到cookie,c_start就会等于-1
{
c_start=c_start + c_name.length+1//此时的c_start的含义是:如果我们的cookie一共有8个字符,并且我们所需要的cookie在第5个字符位置,那么它就=13
c_end=document.cookie.indexOf(";",c_start)//此时查找到的位置是cookie的最后一个字符在cookie总文件里的位置
if (c_end==-1)//这里的意思是,如果查找到的cookie就等于我们的c_end,那么因为cookie的长度是8,所以它的值是7,所以cend就=-1
c_end=document.cookie.length
return(document.cookie.substring(c_start,c_end))//这个方法返回的结果是一个已经被方法解码了的cookie,即是得到了我们所需要的cookie内容,substring的意思是剔去start在cookie
}
}
return ""
}
functionsetCookie(c_name,value,expiredays)//c_name来存放Cookie的名字,value来存放cookie的值,expiredays来存放Cookie的生命时间
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)//设置cookie的生命时间
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())//document.cookie的作用是定位电脑硬盘上的cookie,也就是说,它相当是一个要准备存储当前cookie的文件位置,excape的作用是将value的值进行编码而利于存储,后面那个的意思是说expiredays如果是null,则它的值为空,如果不是的话,它的值是exdate.toGMLstring(),toGMLstring的意思是将对象的日期转变成一个时间字符串,这样就方便了存储
}
function checkCookie()
{
username=getCookie('username')//调用getCookie方法
if (username!=null &&username!="")
{alert('Welcome again'+username+'!')}//如果ursername不是空,就显示欢迎页面
else
{
username=prompt('Please enter yourname:',"")//否则使用prompt语句来接收输入的usernmae
if (username!=null&& username!="")
{
setCookie('username',username,365)//调用setcookie来设置Cookie
}
}
}
</script>
</head>
<body onLoad="checkCookie()">
</body>
</html>