2010-02-12 61 views
5

可能重複:
Clearing all cookies with javascript如何刪除所有Cookie使用jQuery

我想有一個分配給激活和消滅以前存儲在我的形式在一個所有Cookie複選框走。我將如何做到這一點與jQuery的cookie插件?我似乎無法在Klaus網站和這裏找到示例。

任何提示將非常感激。

感謝

+0

這個問題不是重複的,因爲另一個是特定於普通的JavaScript,這個是特定於jQuery的。 – VUELA 2013-08-21 18:50:22

+0

同意。 jquery的全部目的是避免編寫樣板javascript。正確的答案是:'for(var in $ .cookie())$ .removeCookie(it);'但是我不能發佈它,因爲它被標記爲dup。 (需要jquery-cookie。) – 2016-02-11 17:44:33

+0

另外,接受的答案不會考慮cookie上設置的路徑。使用庫而不是寫入原始js的另一個原因。 – 2016-02-11 17:45:47

回答

6

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代碼段會做... jQuery真的沒有在這裏所有的幫助

+0

在那裏之前,但太渴望留在jquery :)所以我想答案是不容易的方式來消滅jQuery餅乾?得抓住我能得到的最接近的手。謝謝 – swan 2010-02-12 17:46:03

+0

jQuery只是一堆javascript,不要認爲他們就像你委託給不同的東西......這些都是一樣的。在一個插件中包裝一些東西並不需要一段時間,它通常就等同於更改某些插件所做的命名空間。 – 2010-02-12 17:51:12

+1

你沒有回答與jquery相關的實際問題,但鏈接現在確實回答了我的需求。謝謝 – swan 2010-02-13 04:53:50

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,空,-1);

+2

但他想用jQuery來做這件事。 – 2010-02-12 17:44:52

+0

是的,我喜歡看jQuery的版本,如果有任何請。但我一直在傾聽任何可能的解決方案。謝謝 – swan 2010-02-12 17:56:40

+6

聽你兩個,jQuery **是** Javascript。絕對沒有理由要這樣或那樣,因爲它們是一樣的。 jQuery不應該用來做到這一點。 – 2010-02-12 18:49:34