cookie 是存储于访问者的计算机中的变量
2014-10-09 09:42
113 查看
今天把javascript如何用来创建及存储cookie复习了一下,其中的一点体会拿出来和大家讨论,首先看一下基础知识:
密码 cookie: 当访问者首次访问页面时,他或她也许会填写他/她们的密码。密码也可被存储于 cookie 中。当他们再次访问网站时,密码就会从 cookie 中取回。
日期 cookie: 当访问者首次访问你的网站时,当前的日期可存储于 cookie 中。当他们再次访问网站时,他们会收到类似这样的一条消息:"Your last visit was on Tuesday August 11,2005!"。日期也是从 cookie 中取回的。
下面来创建一个cookie的实例,如何来创建cookie及取出cookie。
javascript部分代码:
view source
print?
主要在于如何提取我们需要的cookie信息,在本例的getCookie函数中主要是将cookie信息转化成数组的方式来查找我们需要提取的cookie值。还可以通过正则表达式的方式来匹配,如下:
view source
print?
比如在这个例子中,如果打开浏览器中没有存储名为userName的cookie,则会提示用户输入用户名,再次刷新页面时则会显示输入的cookie值。 最后我们可以测试一下代码:
view source
print?
什么是cookie
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。
javascript部分代码:
view source
print?
01 | //创建cookie |
02 | function setCookie(name,value,expireday) { |
03 | var exp = new Date(); |
04 | exp.setTime(exp.getTime() + expireday*24*60*60*1000); //设置cookie的期限 |
05 | document.cookie = name+ "=" +escape(value)+ ";expires" + "=" +exp.toGMTString(); //创建cookie |
06 | } |
07 | //提取cookie中的值 |
08 | function getCookie(name) { |
09 | var cookieStr = document.cookie; |
10 | if (cookieStr.length >0) { |
11 | var cookieArr = cookieStr.split( ";" ); //将cookie信息转换成数组 |
12 | for ( var i=0;i<cookieArr.length;i++) { |
13 | var cookieVal = cookieArr[i].split( "=" ); //将每一组cookie(cookie名和值)也转换成数组 |
14 | if (cookieVal[0] == name) { |
15 | return unescape(cookieVal[1]); //返回需要提取的cookie值 |
16 | } |
17 | } |
18 | } |
19 | } |
20 | //测试cookie |
21 | function checkCookie() { |
22 | var cookieUser = document.getElementById( "cookieUser" ); |
23 | var userName = getCookie( "userName" ); |
24 | if (userName) { |
25 | cookieUser.innerHTML = "您好" +userName+ ",欢迎再次回来!" ; |
26 | } else { |
27 | var value = prompt( "请输入用户名" , "" ); |
28 | if (value) { |
29 | setCookie( 'userName' ,value,1); |
30 | } else { |
31 | alert( "请输入用户名!" ); |
32 | } |
33 | } |
34 | } |
view source
print?
1 | function getCookie(name) { |
2 | var cookieStr = document.cookie; |
3 | var cookieArr = cookieStr.match( new RegExp(name+ "=[a-zA-Z0-9]*;$" )); |
4 | var cookieVal = cookieArr.split( "=" ); |
5 | if (cookieVal[0] == name) { |
6 | return unescape(cookieVal[1]); |
7 | } |
8 | } |
view source
print?
1 | < body onload = "checkCookie()" > |
2 | < p id = "cookieUser" ></ p > |
3 | </ body > |
相关文章推荐
- 浮点型变量在计算机内存中的存储格式
- 变量在计算机中的存储方式。
- 利用Cookie变量来存储信息和服务器页面
- 深入理解计算机系统-之-数值存储(二)--C程序打印变量的每一字节或者位
- 变量在计算机内存储的到底是什么?
- 添加环境变量解决VirtualPC默认存储位置
- 原创存储稿件征集!《中国计算机报》·《存储世界》月刊、51CTO存储频道联合约稿
- 变量的“追随”:cookie与session
- Session对象用于存储用户的信息。存储于session对象中的变量握有单一用户的信息,并且对于应用程序中的所有页面都是可用的。
- 如何用Cookie存储中文信息
- Sql server 2000存储过程变量长度的问题
- 临时变量也可以存储在数据段
- Web变量Cookie的使用
- 怎样获取访问者的IP,IE版本号,计算机名.
- 在C++中各种变量常量的存储对比
- ASP.NET的Application、Session、Cookie、ViewState和Cache等变量的区别是什么?
- 使用Cache,存储变量
- 计算机中的存储单位换算
- Chap 4 学习笔记-使用C#存储变量数据
- Chap 4 学习笔记-使用C#存储变量数据