js 创建 cookie 方法
// 没有设置 cookie 过期时间的话,默认是 会话cookie(浏览器关闭时,该cookie失效,被删除)
document.cookie = cname + "=" + value;
// 设置了过期时间的话,在设置的时间段内 cookie 一直存在有效,到达过期时间点时,cookie被删除而失效
document.cookie = cname + "=" + value + ";expires=" + expiresTime;
还可以设置 cookie 的 “path”,不设置的话,默认是 “path=/”,更多信息请上网查询
js 获取 cookie 方法
document.cookie; // 会获取所有 cookie 值,以 ‘;’ 分隔,具体 cookie值 需要 再进行一下处理来获取
js 删除 cookie 方法
不用设置 cookie 值,将过期时间设置为 过去时间 即可
document.cookie = cname + "=;expires=" + 过去时间;
// 例如:
var edate = new Date();
document.cookie = "testCookie=;expires=" + (edate.getTime() - 1).toUTCString();
代码示例
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>cookie</title>
</head><body><button id="setCookie" class="setCookie">点击设置cookie</button><button id="getCookie" class="getCookie">点击获取cookie</button><button id="removeCookie" class="removeCookie">点击删除cookie</button><script>window.onload = function () {// 设置cookievar btn1 = document.getElementById('setCookie');var btn2 = document.getElementById('getCookie');var btn3 = document.getElementById('removeCookie');// 设置 cookiebtn1.onclick = function () {setCookie('testCookie', '111');setCookie('testCookie2', '222', 120);}// 获取 cookiebtn2.onclick = function () {var c1 = getCookie('testCookie');var c2 = getCookie('testCookie2');console.log(c1, c2);}// 删除 cookiebtn3.onclick = function () {setCookie('testCookie', null); // 这种不能删除 cookie,只是将 cookie值设置成了null,获取cookie会得到一个 'null' 的 字符串值setCookie('testCookie', ''); // 这种是将 cookie 值设置成 空,没有删除 cookiesetCookie('testCookie2', '', -1); // 这种 会将 cookie 在浏览器中删除,设置超时时间为过去时间}function setCookie(cname, value, seconds) {var edate = new Date();edate.setTime(edate.getTime() + (seconds * 1000));var cData = cname + "=" + value;cData += (seconds == null) ? '' : (';expires=' + edate.toUTCString());// console.log(cData); 可以F12控制台查看 cookie值document.cookie = cData;}function getCookie(cname) {var name = cname + "=";var ca = document.cookie.split(';');for (var i = 0; i < ca.length; i++) {var c = ca[i].trim();if (c.indexOf(name) == 0) return c.substring(name.length, c.length);}return "";}}</script>
</body></html>
分别点击 “设置cookie”、“获取cookie”、“删除cookie” 按钮,控制台打印 结果如下:

可以看到浏览器 cookie 中 有了设置的 cookie值:

2分钟后刷新 浏览器,可以看到 “testCookie2” 不存在了,因为设置的 2分钟过期时间到了,删除掉了,“testCookie” 还在,关掉 浏览器后,“testCookie” 就不在了:

“testCookie2” 过期之前 关闭浏览器,再打开浏览器 查看该页面,“testCookie2” 还在,但是 “testCookie” 不在了:

如果 设置 cookie值 为 null,不会将 cookie 删除,设置 cookie值 为 ‘’ 空字符串也不会删除,只是值为空:





















