参考:https://www.runoob.com/js/js-cookies.html
Cookie 是一些数据, 存储于你电脑上的文本文件中,用于存储用户的访问记录。
当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookie 的作用就是用于解决 "如何记录客户端的用户信息":
- 当用户访问 web 页面时,他的名字可以记录在 cookie 中。
- 在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。
1、存储方式:键值对
例如:
username=John Doe
当浏览器从服务器上请求 web 页面时, 属于该页面的 cookie 会被添加到该请求中。服务端通过这种方式来获取用户的信息。
默认情况下,cookie 在浏览器关闭时删除
2、JavaScript添加Cookie
加入cookie内容
document.cookie="username=John Doe";
加入Cookie过期的时间,一旦过期,下次就需要重新输入表单存储cookie
document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT";
加入使用cookie的页面
document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/"; # 此时使用的是GMT时间格式,UTC也可以
当需要再cookie中输入多个键值对,使用“;”隔开。
3、读取cookie
document.cookie;
document.cookie 将以字符串的方式返回所有的 cookie,类型格式: cookie1=value; cookie2=value; cookie3=value;
4、修改cookie
document.cookie="username=John Smith; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/";
直接覆盖旧的值,完成修改。
5、删除cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
expires设置之前的时间,截止的时间过期了,cookie删除。cookie的值没有必要指定
实例:
function setCookie(cname,cvalue,exdays) { var d = new Date(); # 获取当前时间对象 d.setTime(d.getTime()+(exdays*24*60*60*1000)); # d.getTime()获取当前时间,exdays*24*60*1000转化为毫秒值,然后将新的时间设置为d的时间 var expires = "expires="+d.toGMTString(); # d.toGMTString以GMT的显示形式输出时间。 document.cookie = cname + "=" + cvalue + "; " + expires; }
cname是键的名字,cvalue是对应键的值。exdays指该cookie存活几天。