/*
setItem("键","值",未来到期的毫秒值);
removeItem("键");
getItem("键")
clear() 清除所有cookie
getAllCookies() 返回所有cookie的键值对 组成一个对象
*/
/** 根据键值设置cookie值, [millisecond为过期的毫秒值] */
function setItem(key, value, millisecond) {
let str = "";
str = str + key + "=" + value;
if (millisecond != "undefined") {
var dateGmt = new Date(new Date().getTime() + millisecond).toGMTString();
str += ";expires=" + dateGmt;
}
document.cookie = str;
}
/*
根据键删除cookie
*/
function removeItem(key) {
document.cookie = "" + key + "=" + "*;expires=" + new Date(new Date().getTime() - 1000).toGMTString();
}
/*
根据键获取cookie值, 若未获取到返回 null
*/
function getItem(key) {
let cookiesStr = document.cookie;
if (cookiesStr == "") {
return null;
}
let index = cookiesStr.indexOf(key + "=");
if (index == -1) {
return null;
}
index = index + key.length + 1;
let cookieStr = cookiesStr.substring(index)
let subIndex = cookieStr.indexOf(";");
if (subIndex != -1) {
cookieStr = cookieStr.substring(0, subIndex);
}
return cookieStr;
}
/** 清除所有cookie */
function clear() {
var cookieObj = getAllCookies();
for (const key in cookieObj) {
removeItem(key);
}
}
/** 获取所有cookie, 返回一个cookie对象 */
function getAllCookies() {
let cookiesStr = document.cookie;
let cookieObj = new Object();
// 当前cookie为空时,返回空对象
if (cookiesStr == "") {
return cookieObj;
}
var cookieArr = cookiesStr.split(";");
for (let index = 0; index < cookieArr.length; index++) {
let cookieKey = cookieArr[index].substring(0, cookieArr[index].indexOf("=")).trim();
let cookieVal = cookieArr[index].substring(cookieArr[index].indexOf("=") + 1).trim();
cookieObj[cookieKey] = cookieVal;
}
return cookieObj;
}
js操作cookie的方法封装
于 2022-12-21 17:28:27 首次发布