Toc
  1. 一、什么是cookie?
  2. 二、cookie的特性
  3. 三、js中使用cookie
  4. 四、cookie的使用
  5. 五、封装cookie
  6. 六、cookie简单示例(网页登录中应用cookie)
  7. 七、彩蛋
Toc
0 results found
bbcfive
封装和使用cookie(内含彩蛋)

一、什么是cookie?

页面用来保存信息,如:自动登录、记住用户名

二、cookie的特性

  1. 同一个网站中所有页面共享一套cookie
  2. 数量、大小有限
  3. 有过期时间

三、js中使用cookie

document.cookie

四、cookie的使用

  1. 设置cookie:
    格式:名字=值(多条不会覆盖)
    过期时间:expires = 时间
    封装函数
  2. 读取cookie(字符串的分割)
  3. 删除cookie(已经过期)

五、封装cookie

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//创建cookie
function setCookie(name,value,expiresDay) {
var oDay = new Date();
oDay.setDate(oDay.getDate() + expiresDay);

document.cookie = name + ' = ' + value + '; expires = ' + expiresDay;
}

//得到cookie
function getCookie(name) {
var arr = document.cookie.split('; '); //cookie间是用;+空格隔开的
for (let i = 0; i < arr.length; i++) {
var arr2 = arr[i].split('=');
if (arr2[0] == name) {
return arr2[1];
}
}
return '';
}

//删除cookie
function removeCookie(name) {
setCookie(name,1,-1); //-1天后过期,则浏览器立马删除
}

setCookie('userName','blue',100);

六、cookie简单示例(网页登录中应用cookie)

JavaScript:

1
2
3
4
5
6
7
8
9
10
window.onload = function() {
var oForm = document.getElementById('form1');
var oUser = document.getElementsByName('user')[0];

oForm.onsubmit = function() {
setCookie('user', oUser.value, 14);
}

oUser.value = getCookie('user');
}

html:

1
2
3
4
5
<form id="form1" action="http://www.baidu.com/">
用户名:<input type="text" name="user"> <br>
密码:<input type="password" name="password"> <br>
<input type="submit" value="登录">
form>

七、彩蛋

表单提交到了百度的服务器,于是在百度首页的console里看到如下文字:

avatar

嗯,好大一个蛋~

本文作者:bbcfive
版权声明:本文首发于bbcfive的博客,转载请注明出处!