一、什么是cookie?
页面用来保存信息,如:自动登录、记住用户名
二、cookie的特性
- 同一个网站中所有页面共享一套cookie
- 数量、大小有限
- 有过期时间
三、js中使用cookie
document.cookie
四、cookie的使用
- 设置cookie:
格式:名字=值(多条不会覆盖)
过期时间:expires = 时间
封装函数
- 读取cookie(字符串的分割)
- 删除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
| function setCookie(name,value,expiresDay) { var oDay = new Date(); oDay.setDate(oDay.getDate() + expiresDay);
document.cookie = name + ' = ' + value + '; expires = ' + expiresDay; }
function getCookie(name) { var arr = document.cookie.split('; '); for (let i = 0; i < arr.length; i++) { var arr2 = arr[i].split('='); if (arr2[0] == name) { return arr2[1]; } } return ''; }
function removeCookie(name) { setCookie(name,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里看到如下文字:
嗯,好大一个蛋~