javascript之操作cookie

本文详细介绍了Cookie的基本概念及其在网站中的应用,包括如何设置Cookie的有效期、所属域名等属性,并提供了简单的JavaScript操作示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的,了解cookie的读写及修改
cookie修改条件:必须同时满足四个条件:Cookie的key、domain、path和secure都匹配
参考:MDN

1.基本信息

cookie 保存一下几个信息:
1. Cookie的名字
2. Cookie的值 ( value属性)
3. 到期时间 (expires属性,必须把Date类型通过toUTCString)转换为字符串
4. 所属域名(默认是当前域名) (domain属性)
5. 生效的路径(默认是当前网址) (path属性)
6. secure(属性用来指定Cookie只能在加密协议HTTPS下发送到服务器。)
7. max-age(属性用来指定Cookie有效期,比如60 * 60 * 24 * 365(即一年31536e3秒))。
8. HttpOnly(属性用于设置该Cookie不能被JavaScript读取)

2.具体操作

1.简单操作
document.cookie = "name=oeschger";
document.cookie = "favorite_food=tripe";
alert(document.cookie);
// 显示: name=oeschger;favorite_food=tripe

注意:document.cookie 为字符串拼接,并不是覆盖

2.对于expires操作
var date = new Date();
//将时间设置成30分钟以后
date.setTime(date.getTime() + 30 * 60 * 1000);
//name=zhangsan将在30分钟后过期
document.cookie = "name=zhangsan;expires="+date.toUTCString();
"name=caoyi;expires=Sat, 19 Nov 2016 03:17:44 GMT"

结果:重点 express必须为toUTCString(),否则 为seesion
执行结果

document.cookie = "name=caoyi;max-age="+60*60*24;
console.log(new Date().toUTCString());
//=> VM216:6 Sat, 19 Nov 2016 03:04:27 GMT

Exprires 存放的时间字符串 是格林尼治标准时间;
max-age也是 new Date()=> 转换为格林尼治时间 =>再加秒数 =>转换为格林尼治时间

3.轮子

1.从GitHub中 找了几个项目
jquery-cookie
js-cookie

2.研究一下【js-cookie】的源码
整体是一个:

具体参见后续

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值