分享

JavaScript创建cookie

 集微笔记 2015-10-21

创建一个欢迎cookie。

通过w3s文档的学习,终于把JavaScript的cookie欢迎页面扩清楚了。在这里与各位分享一下自己的cookie学习心得。 ,希望对大家有所帮助。对于什么是cookie,cookie的各种官方解释我就不在这里解释了啊!直接介绍我demo了。

wkiom1yk4mnxxii1aagruuoeldk291.jpg

首先  我们要在页面加载的时候,直接调用欢迎页面。所以可以用onLoad 方法,onLoad这个方法,可以在每此加载页面的时候,最先调用。 onLoad主动调用JavaScript服本checkCookie()。

下面是checkCookier demo

                 function checkCookie(){ //cookname 是cookie的对象名,cookValue是值 expireTime有效期整数

  1.             var user=getCookie("username");

  2.             if (user!=null && user!="")

  3.             {

  4.                 alert('你好!'+user+' 希望你常来此网站看看哟!');

  5.             }

  6.             else{

  7.                var name=prompt("请输入姓名:",""); //用此方法会把提示框中输入的内容保存入变量name中。

  8.                 if (name!=null && name!="")//判断name不为空,有值的情况下

  9.                 {/*进入下面调用setCookie()方法  此方法需要3个参数(cookie名  cookie值 cookie的有效时间)

  10.                 其中cookie名必需为字符串,因些必需用双引号。

  11.                  */

  12.                     //username 是cookie的对象名,name是cookie的值 ,3是有效期整数

  13.                     setCookie("username",name,3);

  14.                 }

  15.             }

  16.         }






第2步 checkCookie()脚本的逻辑是:先从网页getCookie() 中获取cookie对象如果有,就拼接字符串显示, 如果没有就用setCookie()创建对象保存起来。使下次登录的时候,可以从cookie中获取这次储存的cookie对象。cookie保存格式是:“ cookie名 = cookie值 ;cookie的有效时间 ”双引号里的内容都为关键内容,包括里面的(;)分号。从cookie中获取cookie的和储存cookie的cookie名必须一样。 因此username名字这两个位置是一样的。其中保存cookie必须有3个参数cookie的对象名,cookValue是值 cookie的有效期整数用setCookie方法把3个参数传入 下面是第一次进入的时候,第一次保存cookie如下图:


  1.         function setCookie(cookname,cookValue,expireTime)//cookname 是cookie的对象名,cookValue是值 expireTime有效期整数

  2.         {

  3.             //获取一个计算机最新时间

  4.             var expireMinute=new Date();

  5.             //把有效期整数通过setDate() 和.getMinutes方法得出最后过期时间

  6.             expireMinute.setDate(expireMinute.getMinutes()+expireTime);

  7.             //通过下面的格式拼接把cookie的对象名,cookValue的值 cookie的有效期进行存储。

  8.             document.cookie=cookname+"="+cookValue+((expireMinute==null)?"":";expire"+expireMinute.toGMTString());

  9.         }




第3步cookie参数需要把有效时间计算为cookie有效期格式时间。最后通过document.cookie方法保存。下次登录的时候,直接用cookie名去获取cookie内容。 如下图:

             

            //cookie对象的存储内容为:       username=cookieValue;expire时间;

  1.         function getCookie(cookname) //能过cookie名找到对应cookie名的内容。

  2.         {

  3.             if (document.cookie.length>0)

  4.             {

  5.                 //通过.indexOf方法:找cookie名对应的cookie,

  6.                 var stratIndex=document.cookie.indexOf(cookname);

  7.                 if (cookname!=-1)

  8.                 {

  9.                     stratIndex=stratIndex+cookname.length+1;//把cookie名的位置计算出来

  10.                     var endIndex=document.cookie.indexOf(";",stratIndex);//把cookie值计算出来

  11.                     if (endIndex==-1)

  12.                     {

  13.                         endIndex=document.cookie.length;

  14.                     }

  15.                     return document.cookie.substring(stratIndex,endIndex);//把cookie的值返回给checkCookie();

  16.                 }

  17.             }

  18.             return "";

  19.         }


从方法需要判断cookie 是否存在, 是否过期。 然后有字符串的方法,截取cookie的值 内容。并返回即可。下次登录即有欢迎页面内容。 
















本文出自 “Web前端iOS” 博客,请务必保留此出处http://mengle.blog.51cto.com/10803421/1704304

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多