【问题标题】:How to delete all cookies with jquery [duplicate]如何使用jquery删除所有cookie [重复]
【发布时间】:2011-01-16 06:16:14
【问题描述】:

可能重复:
Clearing all cookies with javascript

我希望分配一个复选框,以一次性激活和清除以前存储在我的表单中的所有 cookie。我将如何使用 jquery cookie 插件来做到这一点?我似乎无法在 Klaus 网站和此处找到示例。

任何提示将不胜感激。

谢谢

【问题讨论】:

  • 这个问题不是重复的,因为另一个是纯 JavaScript 特有的,而这个是 jQuery 特有的。
  • 同意。 jquery 的全部目的是避免编写样板 javascript。对此的正确答案是:for (var it in $.cookie()) $.removeCookie(it); 但我无法发布它,因为它已被标记为 dup。 (需要 jquery-cookie。)
  • 此外,接受的答案不考虑在 cookie 上设置的路径。使用库而不是编写原始 js 的另一个原因。

标签: jquery cookies


【解决方案1】:

this question 中接受的答案应该完成您所追求的:

var cookies = document.cookie.split(";");
for(var i=0; i < cookies.length; i++) {
    var equals = cookies[i].indexOf("=");
    var name = equals > -1 ? cookies[i].substr(0, equals) : cookies[i];
    document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}

(为了清晰起见,从链接的答案中扩展了代码,无需在此处重新发明轮子)

在所有情况下都不需要插件,有时一个简单的 JavaScript sn-p 就可以了……jQuery 在这里真的没有任何帮助

【讨论】:

  • 以前去过那里,但太急于留在jquery :) 所以我想答案不是用jquery 清除cookie 的简单方法吗?必须抓住我能得到的最近的手。谢谢
  • jQuery 只是一堆 javascript,不要认为它们就像你在委派不同的东西......它们都是一样的东西。很多时候不需要在插件中包装一些东西,这通常相当于更改某些插件的命名空间。
  • 您没有回答与 jquery 相关的实际问题,但该链接目前确实满足了我的需求。谢谢
  • 这个答案没有说在JQuery中怎么做
  • @KevinDeus - jQuery 就是 JavaScript,在很多情况下你不需要 jQuery,只需要普通的 JavaScript 就可以了。
【解决方案2】:

你不需要为此使用 jquery,只需要纯 javascript:

function setCookie(name, value, seconds) {

    if (typeof(seconds) != 'undefined') {
        var date = new Date();
        date.setTime(date.getTime() + (seconds*1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else {
        var expires = "";
    }

    document.cookie = name+"="+value+expires+"; path=/";
}

并用 setCookie(cookieName, null, -1); 调用

【讨论】:

  • 但他想用 jQuery 来做这件事。
  • 是的,如果有的话,我喜欢看 jquery 版本。但我一直在听任何可能的解决方案。谢谢
  • 听你们两个,jQuery Javascript。绝对没有理由以一种或另一种方式想要它,因为它们是相同的。不应使用 jQuery 来执行此操作。
猜你喜欢
  • 2020-07-01
  • 2010-10-10
  • 2020-06-14
  • 2011-04-09
  • 2013-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-27
相关资源
最近更新 更多