在 JavaScript 中获取 Cookie 可以通过 document.cookie
属性来实现。以下是一些相关的基础概念、优势、类型、应用场景以及常见问题的解决方法:
document.cookie
是一个包含所有 Cookie 的字符串,每个 Cookie 之间用分号和空格分隔。每个 Cookie 的格式为 key=value
。
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}
Expires
或 Max-Age
属性,使其在指定时间后删除。/
。HttpOnly
属性防止 JavaScript 访问 Cookie,使用 Secure
属性确保 Cookie 只在 HTTPS 连接中传输。localStorage
或 sessionStorage
。以下是一个完整的示例,展示如何获取和设置 Cookie:
// 设置 Cookie
function setCookie(name, value, days) {
let expires = "";
if (days) {
const date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
// 获取 Cookie
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}
// 示例
setCookie("username", "JohnDoe", 7); // 设置一个名为 username 的 Cookie,有效期为 7 天
console.log(getCookie("username")); // 输出: JohnDoe
通过以上方法,你可以在 JavaScript 中灵活地获取和设置 Cookie,并根据具体需求进行调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云