在客户端怎么清除所有的cookie
1.点击网页上的退出按钮,清楚所有的cookie
/** * 添加cookie * days表示有效期,时间单位是天 * 如果没有days,那么表示会话cookie,浏览器关闭则消失 */ function addCookie(name, value, days) { var cookieStr = name + "=" + escape(value); if(days) { var d = new Date(); d.setDate(d.getDate() + days); cookieStr = cookieStr + "; expires=" + d.toGMTString(); } document.cookie = cookieStr; } /** * 获取cookie */ function getCookie(name) { var cookieArr = document.cookie.split(";"), temp; for(var i = 0; i < cookieArr.length; i ++) { temp = cookieArr[i].split("="); if(temp[0] === name) return unescape(temp[1]); } } /** * 删除cookie * 原理在于设置有效期为过去的时间 */ function delCookie(name) { addCookie(name, "v", -365); }
/** * 删除所有cookie */ function delAllCookie() { var cookieArr = document.cookie.split(";"), temp; for(var i = 0; i < cookieArr.length; i ++) { temp = cookieArr[i].split("="); delCookie(temp[0]); } }
不行啊!cookies.length 提示 没有定义cookie,是我写的kookie有问题么?
我的cookie是这样写的 Response.Cookies["username"].Value,
获取就是Request.Cookies["username"].Value
火狐监听时提示ReferenceError: cookies is not defined
@爱之翼: 你现在写的是后台代码吧,是.net还是php?
我现在写的是javascript
@ThreeTree: 我添加cookie实在后台.net ,删除想用javascript删除
@爱之翼: 你的js是怎么写的?不应该报错的,我在firefox的控制台上输入document.cookie是可以输出cookie的
@ThreeTree: 可以读取到,删除不了。用你的两个方法结合使用删除cookie
function delCookie(name) { addCookie(name, "v", -365); }
@爱之翼: 问题没有解决,我用别的方法解决了,谢谢各位的回答
你只能清楚你域名下的cookie
代码如下:
var cookies = document.cookie.split(';') for (var i = 0; i < cookies.length; i++) { var cookieName = cookies[i].split('=')[0]; document.cookie = cookieName + "=deleted; expires=" + new Date(0).toUTCString(); }
cookies.length 提示 没有定义cookie
火狐监听时提示ReferenceError: cookies is not defined
@爱之翼: 那就是没有cookie
@dudu: cookie是有的,可以获取cookie值,就是js获取不到
@爱之翼: 是不让js获取