删除值为NULL的cookie

时间:2014-09-23 23:34:59

标签: javascript cookies erase

我试图完全删除在存在特定网址参数时设置的Cookie。

我试过了:

function delete_cookie (cookie_name) {
    var cookie_date = new Date ();
    cookie_date.setTime(cookie_date.getTime()-1);
    document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}

delete_cookie('MyCookie');

它将cookie值设置为null,但cookie本身或至少cookie的名称保留在浏览器中,这样当再次打开相同的URL时,它不会更新来自{的cookie值{1}}到null也不是第二个创建了URL值的Cookie。

要重新设置新Cookie,我必须右键单击Cookie名称(在Chrome中)并选择删除。这样,Cookie名称及其值XXX将被真正删除,否则将保持null值。

如何完全删除Cookie文件,而不是仅使用javascript将其设置为null

**新信息**

我应该提一下,我还有以下函数从URL参数中获取cookie并将其从第一页保留到最后一页(在将cookie值添加到另一个URL之后应将其删除)。第二页将链接转换为URL参数不再可见的会话

以下是代码:

null

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

删除cookie的最简单方法是:

function delete_cookie( name ) {
    document.cookie = name + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

更新:必须添加路径才能让它发挥作用。

Here's a Plunk showing it working. Plunk中的顶部按钮使用库来设置/查看/删除空cookie。使用底部按钮删除旧学校方法(上图),然后使用库显示按钮验证它已消失。