如何使用JavaScript删除当前域的所有cookie?

推荐答案

function deleteAllCookies() {
    var cookies = document.cookie.split(";");

    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        var eqPos = cookie.indexOf("=");
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
    }
}

请注意,此代码有两个限制:

  • 它不会删除设置了HttpOnly标志的Cookie,因为HttpOnly标志禁用Javascript对Cookie的访问.
  • 它不会删除设置为Path的cookie.(尽管这些cookie将出现在document.cookie中,但如果不指定设置它的相同Path值,就无法删除它.)

Javascript相关问答推荐

我试图实现用户验证的reduxstore 和操作中出了什么问题?

通过使用100%间隔时间来代表我们还剩多少时间来倒计时

node TS:JWT令牌签名以验证客户端和后台问题之间的身份验证

扫描qr code后出错whatter—web.js

我们如何从一个行动中分派行动

如何将Openjphjs与next.js一起使用?

如何在 cypress 中使用静态嵌套循环

并不是所有的iframe都被更换

XSLT处理器未运行

Angular 中的类型错误上不存在获取属性

连接到游戏的玩家不会在浏览器在线游戏中呈现

从Nextjs中的 Select 项收集值,但当单击以处理时,未发生任何情况

元素字符串长度html

搜索功能不是在分页的每一页上进行搜索

FileReader()不能处理Firefox和GiB文件

无法检索与Puppeteer的蒸汽游戏的Bundle 包价格

如何使用抽屉屏幕及其子屏幕/组件的上下文?

更改agGRID/Reaction中的单元格格式

在使用JavaScript以HTML格式显示Google Drive中的图像时遇到问题

由于http.get,*ngIf的延迟很大