1 <script>
2 /* 什么是cookie
3 页面中用来保存信息:比如,自动登录、记住用户名
4
5 cookie的特性:cookie是以域名为单位的,同一个网站(即同一个域名)中所有页面共享一套cookie。 cookie的数量和大小是有限制的。 cookie有过期时间限制。
6
7 JS中使用cookie的方法: document.cookie
8
9 在本地浏览器中,只有firefox浏览器才能把cookie保存下来。IE和chrome是不保存的cookie的。
10
11 cookie就是document上的一个属性
12
13 cookie的使用
14 设置cookie: 名字=值,属性(不同名字)之间不会覆盖。
15 过期时间: expires=时间, 日期对象的使用
16 封装成函数
17
18 读取cookie: 字符串分割
19
20 删除cookie: 已过期的cookie
21 */
22
23 /*设置cookie的值*/
24 //document.cookie='user=ygl'; /*在js中'='代表赋值,而在cookie中'='代表添加 */
25 //document.cookie='pass=123456'; /*如果不设置cookie的过期时间,那么等浏览器关闭,cookie的值就自动清除了 */
26 //alert('ygl'+document.cookie);
27
28 /* 设置cookie的过期时间 */
29 /* 用Date()对象获取日期的相关属性值: */
30 var oDate=new Date();
31 //oDate.setDate(); /* setDate并不是设置系统时间,而是设置oDate对象内部的时间。如果给的日期超出了这个月最大的容量,设置的值将会自动转到下一月 。 */
32 //oDate.setDate(30);
33 //oDate.setDate(oDate.getDate()); /* 利用刚才的特性,将获取到的当前日期oDate.getDate() 赋给oDate.setDate()并且加上n天,就可以获取到n天以后的日期。*/
34 //alert(oDate.getFullYear()+'-'+(oDate.getMonth()+1)+'-'+oDate.getDate());
35 oDate.setDate(oDate.getDate()+1); /* 设置cookie1天后过期 */
36 //document.cookie='user=youmeili; expires='+oDate; /* 指定cookie过期的属性为:expires, expires是系统内部的状态,不会在页面中弹出来。 */
37 //alert(document.cookie);
38
39 /* 封装设置cookie的函数 */
40 function setCookie(name,value,iDay){
41 var oDate=new Date();
42 oDate.setDate(oDate.getDate()+iDay);
43 document.cookie=name+'='+value+';expires='+oDate;
44 }
45 setCookie('userName','meili',1); /*在这里设置cookie的名字为userName,当需要获取或删除cookie的值时,传的参数应该和这里相同。*/
46
47 /*获取cookie的值*/
48 function getCookie(name){
49 var arr=document.cookie.split('; '); /* 将cookie的值,切分成数组。 [userName=meili,pass=123456] */
50 for(var i=0; i<arr.length;i++){
51 var arr2=arr[i].split('='); /* 将数组再做一次拆分 [userName,meili],切一次,判断一次。(先拆,拆完在比较。) */
52 if(arr[2]==name){
53 return arr[1]
54 }
55 }
56 return ''; /* 整个循环结束了,还是没找到,就返回一个空字符。 */
57 }
58 alert(getCookie('userName'));
59
60 /* 删除cookie */
61 function removeCookie(name){
62 setCookie(name,1,-1); /*在删除cookie的函数中,设置cookie,并设置cookie的过期时间为-1天。*/
63 }
64 removeCookie('userName');
65
66
67 /* 使用cookie 记录上次登录的用户名 */
68 /*
69 用户登录时:将用户名、密码存进cookie
70 重新打开页面时onload:从cookie中读取用户名
71 */
72 window.onload=function(){
73 var oForm=document.getElementById('form1');
74 var oUser=document.getElementsByName('user')[0];
75 var oPass=document.getElementsByName('pass')[0];
76 oForm.onsubmit=function(){
77 setCookie('user',oUser.value,1);
78 };
79 oUser.value=getCookie('user');
80 };
81 </script>
1 <body>
2 <form id="form1" action="http://www.baidu.com">
3 用户名:<input type="text" name="user"/><br/>
4 密 码:<input type="password" name="pass"/> <br/>
5 <input type="submit" value="登录"/>
6 </form>
7 </body>