在JavaScript中,创建Cookie可以通过document.cookie
属性来实现。以下是创建Cookie的基本步骤:
document.cookie = "key=value; expires=DATE; path=PATH; domain=DOMAIN; secure; samesite";
key=value
:设置Cookie的名称和值。expires=DATE
:设置Cookie的过期时间。DATE
是一个GMT格式的日期字符串,例如:"Wed, 09 Jun 2021 10:18:14 GMT"。path=PATH
:指定Cookie的路径。默认情况下,Cookie只在当前路径及其子路径下有效。domain=DOMAIN
:指定Cookie的域。默认情况下,Cookie只在当前域及其子域下有效。secure
:如果存在,则Cookie只能在HTTPS连接中传输。samesite
:设置Cookie的同源策略,可以是Strict
、Lax
或None
。以下是一个创建Cookie的示例:
// 创建一个名为 "username" 的Cookie,值为 "JohnDoe",过期时间为7天
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=/";
}
// 使用示例
setCookie("username", "JohnDoe", 7);
要读取Cookie的值,可以使用以下函数:
function getCookie(name) {
const nameEQ = name + "=";
const ca = document.cookie.split(';');
for (let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) === ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
// 使用示例
console.log(getCookie("username")); // 输出: JohnDoe
要删除Cookie,可以将其过期时间设置为过去的时间:
function eraseCookie(name) {
document.cookie = name + "=; Max-Age=-99999999; path=/";
}
// 使用示例
eraseCookie("username");
通过以上方法,你可以在JavaScript中创建、读取和删除Cookie。
领取专属 10元无门槛券
手把手带您无忧上云