为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用JavaScript删除所有cookie?

如何使用JavaScript删除所有cookie?

繁华开满天机 2019-12-25 11:12:13
我已经编写了将Cookie保存在JavaScript中的代码。现在,无论我分配的值如何,都需要清除cookie。是否有任何脚本模块可删除Javascript生成的所有cookie ?我的示例代码:document.cookie = 'ppkcookie2=another test; expires=Fri, 3 Aug 2001 20:47:11 UTC; path=/'function createCookie(name,value,days) {    if (days) {        var date = new Date();        date.setTime(date.getTime()+(days*24*60*60*1000));        var expires = "; expires="+date.toGMTString();    }    else var expires = "";    document.cookie = name+"="+value+expires+"; path=/";}function readCookie(name) {    var nameEQ = name + "=";    var ca = document.cookie.split(';');    for(var i=0;i < ca.length;i++) {        var c = ca[i];        while (c.charAt(0)==' ') c = c.substring(1,c.length);        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);    }    return null;}function eraseCookie(name) {    createCookie(name,"",-1);}我还能如何清除所有cookie?当我在网络服务器上测试代码时会出现任何问题吗?
查看完整描述

3 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

从表面上看,它看起来还不错-如果您调用eraseCookie()从中读取的每个cookie document.cookie,那么所有cookie都将消失。


尝试这个:


var cookies = document.cookie.split(";");

for (var i = 0; i < cookies.length; i++)

  eraseCookie(cookies[i].split("=")[0]);

所有这些都带有以下警告:


JavaScript 无法删除设置了HttpOnly标志的cookie 。


查看完整回答
反对 回复 2019-12-25
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

没有删除浏览器Cookie的100%解决方案。


问题在于,cookie不仅通过其键“名称”而且还通过其“域”和“路径”来唯一标识。


如果不知道Cookie的“域”和“路径”,就无法可靠地删除它。无法通过JavaScript的获得此信息document.cookie。也无法通过HTTP Cookie标头使用!


但是,如果您知道Cookie的名称,路径和域,则可以通过设置一个具有过期日期的空Cookie来清除它,例如:


function clearCookie(name, domain, path){

    var domain = domain || document.domain;

    var path = path || "/";

    document.cookie = name + "=; expires=" + +new Date + "; domain=" + domain + "; path=" + path;

};


查看完整回答
反对 回复 2019-12-25
  • 3 回答
  • 0 关注
  • 553 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信