我正在使用以下功能来创建和删除Cookie。过去这种方法效果很好,但最近我开始通过localhost进行调试,我注意到deleteCookie
函数不再起作用。
function setCookie(cname, cvalue, exsecs) {
let expires = "";
if (exsecs) {
var d = new Date();
d.setTime(d.getTime() + (exsecs * 1000));
expires = "expires="+ d.toUTCString();
} else {
expires = "expires=Fri, 31 Dec 9999 23:59:59 GMT"
}
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function deleteCookie( name ) {
document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
如您所见,这非常简单。有没有更好的方法来“删除”在本地工作的cookie?还是我可以进行一些配置更改?
最佳答案
将此作为可能的答案,直到通过相关的解释得到更可靠的答案:
function deleteCookie(name) {
document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
指定Path属性似乎对遇到类似问题的其他人有用。
Source(尽管没有提到它特定于本地主机)
关于javascript - 无法删除(设置为过期)本地主机上的cookie,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47558126/