创建一个欢迎cookie。
通过w3s文档的学习,终于把JavaScript的cookie欢迎页面扩清楚了。在这里与各位分享一下自己的cookie学习心得。 ,希望对大家有所帮助。对于什么是cookie,cookie的各种官方解释我就不在这里解释了啊!直接介绍我demo了。
首先 我们要在页面加载的时候,直接调用欢迎页面。所以可以用onLoad 方法,onLoad这个方法,可以在每此加载页面的时候,最先调用。 onLoad主动调用JavaScript服本checkCookie()。
下面是checkCookier demo
function checkCookie(){ //cookname 是cookie的对象名,cookValue是值 expireTime有效期整数
var user=getCookie("username");
if (user!=null && user!="")
{
alert('你好!'+user+' 希望你常来此网站看看哟!');
}
else{
var name=prompt("请输入姓名:",""); //用此方法会把提示框中输入的内容保存入变量name中。
if (name!=null && name!="")//判断name不为空,有值的情况下
{/*进入下面调用setCookie()方法 此方法需要3个参数(cookie名 cookie值 cookie的有效时间)
其中cookie名必需为字符串,因些必需用双引号。
*/
//username 是cookie的对象名,name是cookie的值 ,3是有效期整数
setCookie("username",name,3);
}
}
}
第2步 checkCookie()脚本的逻辑是:先从网页getCookie() 中获取cookie对象如果有,就拼接字符串显示, 如果没有就用setCookie()创建对象保存起来。使下次登录的时候,可以从cookie中获取这次储存的cookie对象。cookie保存格式是:“ cookie名 = cookie值 ;cookie的有效时间 ”双引号里的内容都为关键内容,包括里面的(;)分号。从cookie中获取cookie的和储存cookie的cookie名必须一样。 因此username名字这两个位置是一样的。其中保存cookie必须有3个参数cookie的对象名,cookValue是值 cookie的有效期整数用setCookie方法把3个参数传入 下面是第一次进入的时候,第一次保存cookie如下图:
function setCookie(cookname,cookValue,expireTime)//cookname 是cookie的对象名,cookValue是值 expireTime有效期整数
{
//获取一个计算机最新时间
var expireMinute=new Date();
//把有效期整数通过setDate() 和.getMinutes方法得出最后过期时间
expireMinute.setDate(expireMinute.getMinutes()+expireTime);
//通过下面的格式拼接把cookie的对象名,cookValue的值 cookie的有效期进行存储。
document.cookie=cookname+"="+cookValue+((expireMinute==null)?"":";expire"+expireMinute.toGMTString());
}
第3步cookie参数需要把有效时间计算为cookie有效期格式时间。最后通过document.cookie方法保存。下次登录的时候,直接用cookie名去获取cookie内容。 如下图:
//cookie对象的存储内容为: username=cookieValue;expire时间;
function getCookie(cookname) //能过cookie名找到对应cookie名的内容。
{
if (document.cookie.length>0)
{
//通过.indexOf方法:找cookie名对应的cookie,
var stratIndex=document.cookie.indexOf(cookname);
if (cookname!=-1)
{
stratIndex=stratIndex+cookname.length+1;//把cookie名的位置计算出来
var endIndex=document.cookie.indexOf(";",stratIndex);//把cookie值计算出来
if (endIndex==-1)
{
endIndex=document.cookie.length;
}
return document.cookie.substring(stratIndex,endIndex);//把cookie的值返回给checkCookie();
}
}
return "";
}
从方法需要判断cookie 是否存在, 是否过期。 然后有字符串的方法,截取cookie的值 内容。并返回即可。下次登录即有欢迎页面内容。