我正在尝试删除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
我不知道为什么不指定域很重要。有人能解释一下吗?