原生js操作cookie
6s后cookie自动删除
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>7天后自动更新cookie</title></head><body><script>// 浏览器自动删除cookie的前提条件: cookie设置的时间与当前时间至少晚8个小时整, 大于等于8小时以上时浏览器就会自动删除cookiefunction setcookie(name, value, days) {var d = new Date();d.setTime(d.getTime() + days * 24 * 60 * 60 * 1000);var expires = d.toGMTString();document.cookie = name + "=" + value + ";expires=" + expires;}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 "";}console.log(getCookie("openId"));if (getCookie("openId")) {// cookie存在就不重新调用接口 不刷新openIdconsole.log("啥都不做");} else {// cookie不存在时, 说明7天已过,先调用接口重新获取openId, 再重新设置7天过期时间// 这里要调用接口重新获取openIdsetcookie("openId", "123", 7);}</script></body>
</html>