首页 新闻 会员 周边 捐助

在客户端怎么清除所有的cookie

0
悬赏园豆:5 [已解决问题] 解决于 2014-12-01 13:00

在客户端怎么清除所有的cookie

1.点击网页上的退出按钮,清楚所有的cookie

爱之翼的主页 爱之翼 | 初学一级 | 园豆:190
提问于:2014-11-26 14:19
< >
分享
最佳答案
1
/**
 * 添加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]);
    }
}
收获园豆:3
ThreeTree | 小虾三级 |园豆:1490 | 2014-11-26 14:35

不行啊!cookies.length 提示 没有定义cookie,是我写的kookie有问题么?

我的cookie是这样写的  Response.Cookies["username"].Value,

获取就是Request.Cookies["username"].Value

 

   火狐监听时提示ReferenceError: cookies is not defined

爱之翼 | 园豆:190 (初学一级) | 2014-11-26 16:46

@爱之翼: 你现在写的是后台代码吧,是.net还是php?

我现在写的是javascript

ThreeTree | 园豆:1490 (小虾三级) | 2014-11-26 17:00

@ThreeTree: 我添加cookie实在后台.net  ,删除想用javascript删除

爱之翼 | 园豆:190 (初学一级) | 2014-11-26 17:08

@爱之翼: 你的js是怎么写的?不应该报错的,我在firefox的控制台上输入document.cookie是可以输出cookie的

ThreeTree | 园豆:1490 (小虾三级) | 2014-11-26 19:17

@ThreeTree: 可以读取到,删除不了。用你的两个方法结合使用删除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]); } }
爱之翼 | 园豆:190 (初学一级) | 2014-11-27 10:01

@爱之翼: 问题没有解决,我用别的方法解决了,谢谢各位的回答

爱之翼 | 园豆:190 (初学一级) | 2014-12-01 13:02
其他回答(2)
0

你只能清楚你域名下的cookie

收获园豆:1
吴瑞祥 | 园豆:29449 (高人七级) | 2014-11-26 14:42
0

代码如下:

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();
}
收获园豆:1
dudu | 园豆:30948 (高人七级) | 2014-11-26 15:17

 cookies.length 提示 没有定义cookie

   火狐监听时提示ReferenceError: cookies is not defined

支持(0) 反对(0) 爱之翼 | 园豆:190 (初学一级) | 2014-11-26 16:44

@爱之翼: 那就是没有cookie

支持(0) 反对(0) dudu | 园豆:30948 (高人七级) | 2014-11-26 17:35

@dudu: cookie是有的,可以获取cookie值,就是js获取不到

支持(0) 反对(0) 爱之翼 | 园豆:190 (初学一级) | 2014-11-26 17:59

@爱之翼: 是不让js获取

支持(0) 反对(0) dudu | 园豆:30948 (高人七级) | 2014-11-26 18:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册