我在通过 JavaScript 开发的框架中设置了一个 cookie(该框架似乎正在使用https://github.com/carhartl/jquery-cookie)。我正在这个框架内开发,但无权访问框架代码,我想通过 JavaScript 删除一个 cookie(我无权访问此框架内的任何服务器端)。
通过 Chrome 检查 cookie,我可以说很多:
"domain": "www.example.com",
"expirationDate": 1667235180,
"hostOnly": true,
"httpOnly": false,
"name": "my_cookie",
"path": "/",
"secure": false,
"session": false,
"storeId": "0",
"value": "123456789"
它是 hostOnly,但这应该没问题,因为我试图从域字段中设置的同一域中删除。
我正在尝试使用以下代码将其删除:
function clearCookie(name, domain, path) {
var domain = domain || document.domain;
var path = path || "/";
document.cookie = name + "=; expires=" + +new Date + "; domain=" + domain + "; path=" + path;
};
clearCookie('my_cookie', 'www.example.com', '/');
但是,当我这样做时,它会创建一个域为“.www.example.com”的新会话 cookie(注意额外的句点),并且不会删除当前的 cookie。
我错过了什么?