js 实现保存cookie
保存 Cookie 的方法
在 JavaScript 中,可以通过 document.cookie 属性来设置和保存 Cookie。以下是具体实现方式:
设置 Cookie
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/";
username=John Doe:键值对,表示 Cookie 的名称和值。expires:设置 Cookie 的过期时间(UTC 格式)。如果不设置,Cookie 会在浏览器关闭时失效。path=/:设置 Cookie 的作用路径,/表示对整个网站有效。
设置带有安全选项的 Cookie
document.cookie = "token=abc123; Secure; SameSite=Strict";
Secure:仅通过 HTTPS 传输 Cookie。SameSite=Strict:限制 Cookie 仅在同站点请求中发送。
读取 Cookie

const cookies = document.cookie;
console.log(cookies); // 输出所有 Cookie(字符串形式)
如果需要解析 Cookie,可以手动拆分字符串:
const cookieArray = document.cookie.split(';');
const cookieObj = {};
cookieArray.forEach(cookie => {
const [key, value] = cookie.trim().split('=');
cookieObj[key] = value;
});
console.log(cookieObj.username); // 输出特定 Cookie 值
删除 Cookie 通过设置过期时间为过去的时间来删除 Cookie:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
使用第三方库简化操作
如果需要更便捷的 Cookie 操作,可以使用 js-cookie 库:
// 设置 Cookie
Cookies.set('username', 'John Doe', { expires: 7, path: '/' });
// 读取 Cookie
const username = Cookies.get('username');
// 删除 Cookie
Cookies.remove('username');
安装方式:
npm install js-cookie
或通过 CDN 引入:
<script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"></script>
注意事项
- 浏览器对 Cookie 的大小和数量有限制(通常为 4KB 每个 Cookie,每个域名下最多 20-50 个)。
- 敏感数据不建议存储在 Cookie 中,应使用
HttpOnly和Secure标志增强安全性。 - 现代前端开发中,对于身份验证等场景,更推荐使用
localStorage或sessionStorage。






