我在正在通过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,但是应该很好,因为我试图从domain域中设置的同一域中删除。
我正在尝试使用以下代码将其删除:
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。
我想念什么?
最佳答案
我认为您如何设置有效期有问题。使用JavaScript设置Cookie要求日期采用UTC / GMT格式。请参阅以下相关答案:
Which date formats can I use when specifying the expiry date when setting a cookie?
关于javascript - 为什么我不能使用JavaScript终止cookie(不是HttpOnly),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15482743/