设置Cookie
// 设置一个简朴的Cookie
function setCookie(name, value, days) {
var expires = “”;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = “; expires=” + date.toUTCString();
}
document.cookie = name + “=” + (value || “”) + expires + “; path=/”;
}
// 利用示例
setCookie(‘username’, ‘Kimi’, 7); // 设置一个7天后逾期的Cookie
获取Cookie
// 获取Cookie
function getCookie(name) {
var nameEQ = name + “=”;
var ca = document.cookie.split(‘;’);
for(var i = 0; i < ca.length; i++) {
var c = ca;
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’)); // 输出: Kimi
删除Cookie
// 删除Cookie
function eraseCookie(name) {
document.cookie = name + ‘=; Max-Age=-99999999;’;
}
// 利用示例
eraseCookie(‘username’); // 删除名为’username’的Cookie
设置Cookie的属性
// 设置Cookie,包括路径、域、安全标记等
function setCookieWithAttributes(name, value, days, path, domain, secure) {
var expires = “”;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = “; expires=” + date.toUTCString();
}
var cookieString = name + “=” + (value || “”) + expires + “; path=” + (path || “/”);
if (domain) cookieString += “; domain=” + domain;
if (secure) cookieString += “; secure”;
document.cookie = cookieString;
}
// 利用示例
setCookieWithAttributes(‘username’, ‘Kimi’, 7, ‘/’, ‘example.com’, true);