最近在公司中出现因为shiro配置文件搞错了导致cookie的域错乱导致一些应用不能够显示数据。所以我觉得在用户退出登录的时候,顺便清理一下cookie。
//清除所有cookie函数
function clearAllCookie() {
var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
if(keys) {
for(var i = keys.length; i--;)
document.cookie = keys[i] + '=0;expires=' + new Date(0).toUTCString()
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="js/jquery.min.js"></script>
<script src="js/jquery.cookie.js"></script>
<script>
$(document).ready(function() {
//所创建的cookie有效期默认到用户关闭浏览器为止
$.cookie('the_cookie', '五颜六色千变万化');
//创建一个cookie并设置 cookie的有效路径:
$.cookie('the_cookie_expires_07', '世界是座魔方大厦', {
expires: 7
});
//读取cookie
var value = $.cookie('the_cookie');
var value_07 = $.cookie('the_cookie_expires_07');
$('p').html('读取cookie的值:' + value + '<br />' + '读取cookie存在7天的值:' + value_07);
});
//清除所有cookie函数
function clearAllCookie() {
var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
if(keys) {
for(var i = keys.length; i--;)
document.cookie = keys[i] + '=0;expires=' + new Date(0).toUTCString()
}
}
</script>
<title></title>
</head>
<body>
<p></p>
<button onclick="clearAllCookie();">清除所有的cookie</button>
</body>
</html>
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();
}
参考了文章