实际应用中,可能需要删除写入本地硬盘的cookie。默认情况下,cookie会在关闭浏览器结束会话的时候自动删除。不过,往往我们需要设定cookie的在硬盘中留存时间,也就是过期时间。超过这个时间,cookie就会被自动删除。通过expires设置cookie的过期时间。
语法结构:
document.cookie="name=value;expires=date"
注意:这里date格式是GMT(格林威治时间)格式的日期型字符串。
封装代码如下:
//取cookies function getCookie(name){ let arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) return unescape(arr[2]); return null; } //删除cookie function delCookie(name){ var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = getCookie(name); if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); }
上面代码可以马上删除一个cookie,因为将指定cookie设置为立马过期。
注意:如果要删除的是全域cookie,一定要在document.cookie补全path=/;否则无法删除
例如:
if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString()+";path=/;";
cookie的写入与读取详解 戳:http://www.chajianwo.com/blog-134.html