您的位置:首页 > Web前端 > JavaScript

JavaScript创建cookie

2015-12-06 17:29 651 查看
cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。

有关cookie的例子:

名字 cookie当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似 "Welcome John Doe!" 的欢迎词。而名字则是从 cookie 中取回的。密码 cookie当访问者首次访问页面时,他或她也许会填写他/她们的密码。密码也可被存储于 cookie 中。当他们再次访问网站时,密码就会从 cookie 中取回。日期 cookie当访问者首次访问你的网站时,当前的日期可存储于 cookie 中。当他们再次访问网站时,他们会收到类似这样的一条消息:"Your last visit was on Tuesday August 11, 2005!"。日期也是从 cookie 中取回的。

创建一个欢迎cookie。在这里讲解一下,它的原理。希望大家能够以些理解cookie,并灵活运用的工作中的项目中。

cookie的原理是:

分为3部分: 查找cookie,设置cookie, 存储cookie ,

设置cookie 就是收集信息,把需要的cookie信息进行收集与设置。 收集的内容需要一种键值对的模式,即字典方式。把网页需要存储的信息进行收集与设置完成后, 即需要存储cookie。把需要的信息与时间有效期通过规定方式,进行统一拼接。然后给存储的cookie以名字用来存储. 再次访问的时候, 浏览器通过cookie名, 找到cookie的内容, 进行登录。 减少用户短时间内不必要信息的重复填写。 下面即是示例代码:

<html>
<head>
<meta charset="UTF-8">
<title>JavaScript Cookie页面</title>
<script type="text/javascript">
//cookname 是cookie的对象名,cookValue是值 expireTime有效期整数
function checkCookie(){
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,5);
}
}
}

//cookname 是cookie的对象名,cookValue是值 expireTime有效期整数
function setCookie(cookname,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());

}

//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 "";
}
</script>
</head>
<body onLoad="checkCookie()">
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: