我正在使用此功能设置Cookie
function setCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
setCookie("test_cookie", "test_value", 1);
我找到了here删除Cookie的不同方法,但没有一种对我有用。例如,我尝试失败了:
document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
我在Firefox和chrome上都尝试了此代码。更改expires
值后,cookie仍保留在浏览器中,您对此问题有想法吗?
答案 0 :(得分:0)
我刚遇到这个问题,终于解决了。您的Cookie很可能不会被删除,因为在您设置新值时,它必须与您要删除的原始Cookie的路径和域相匹配。
换句话说:
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=[something];"
“某物”值需要与现有Cookie设置的值保持一致。
JS调试器可能不会为您提供有关路径和域的详细信息,但是如果您在Chrome->设置或类似面板中查找现有cookie的值,就会很明显地找到您不匹配的路径和域。在Firefox / Safari / IE中。
让我知道是否有帮助。