创建一个欢迎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的值 内容。并返回即可。下次登录即有欢迎页面内容。
本文出自 “Web前端iOS” 博客,请务必保留此出处http://mengle.blog.51cto.com/10803421/1704304
|