未能使用JavaScript删除cookie-我做错了什么



我正在尝试删除Android Chrome(最新版本(中的cookie。

当我将手机导航到www.domain.com/admin/clearcookies时,DevTools(通过USB连接到PC的手机(显示以下cookie:

Name                Value     Domain           Path    Expires
data-cookie-name    foo       www.domain.com   /       2020-09-16T07:57:01.000Z
data-cookie-name    bar       .domain.com      /       2021-03-24T09:03:04.000Z

在页面加载时,我运行以下javascript:

function deleteOldWwwScopedCookiesThatWereConflictingWithNewNonWwwCookiesThatISwitchedToBecauseOfLanguageSubdomains()
{
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;
var tmp = name + "=;domain=www.domain.com;expires=Thu, 01 Jan 1970 00:00:00 GMT";
console.log(tmp);
document.cookie = tmp;
}
}
deleteOldWwwScopedCookiesThatWereConflictingWithNewNonWwwCookiesThatISwitchedToBecauseOfLanguageSubdomains();

我重新加载页面无数次,并看到控制台正确输出

data-cookie-name=;domain=www.domain.com;expires=Thu, 01 Jan 1970 00:00:00 GMT

控制台中没有错误。

但是,如果我在网络选项卡中查看页面请求,我会得到上面列出的相同cookie。

我也尝试了几种变体:

  • 删除域:数据cookie名称=;expires=1970年1月1日星期四00:00:00 GMT
  • 添加路径:数据cookie名称=;domain=www.domain.com;路径=/;expires=1970年1月1日星期四00:00:00 GMT

没有骰子。

我似乎没有什么办法能摆脱这个覆盖.domain.com的不需要的cookie。

我做错了什么?请

我想我需要的是我尝试过的两种选择的组合。

添加路径并删除域:

data-cookie-name=;path=/;expires=Thu, 01 Jan 1970 00:00:00 GMT

我不知道为什么不指定域很重要。有人能解释一下吗?

最新更新