我在正在通过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/

10-12 12:34
查看更多