2010-02-12 21 views
5

Duplicar posible:
Clearing all cookies with javascriptCómo borrar todas las cookies con jQuery

me gustaría tener una casilla asignada para activar y eliminar todas las cookies almacenadas previamente en mis formas en una ir. ¿Cómo podría hacer eso con el plugin jquery cookie? Parece que no puedo encontrar ejemplos en el sitio de Klaus y aquí.

Cualquier sugerencia sería muy apreciada.

Gracias

+0

esta pregunta no es un duplicado, ya que la otra es específica de JavaScript simple y esta es específica de jQuery. – VUELA

+0

De acuerdo. El objetivo de jquery es evitar escribir javascript repetitivo. La respuesta correcta a esto es: 'for (var it in $ .cookie()) $ .removeCookie (it);' Pero no puedo publicarlo porque esto ha sido marcado como un dup. (Requiere jquery-cookie). –

+0

Además, la respuesta aceptada no tiene en cuenta la ruta establecida en la cookie. Otra razón para utilizar una biblioteca en lugar de escribir raw js. –

Respuesta

6

La respuesta aceptada en this question debe lograr lo que está buscando:

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"; 
} 

(código se expande para mayor claridad de la respuesta ligado, no hay necesidad de reinventar la rueda)

No hay necesidad de un complemento en todos los casos, a veces un simple fragmento de JavaScript hará ... jQuery realmente no ayuda nada aquí

+0

He estado allí antes, pero estaba demasiado ansioso por permanecer en jquery :) ¿Entonces supongo que la respuesta no es una forma fácil de borrar las cookies con jquery? Tengo que agarrar la mano más cercana que pueda obtener entonces. Gracias – swan

+0

jQuery es solo un montón de javascript, no pienses en ellos como si estuvieras delegando en algo diferente ... es todo lo mismo. Envolver algunas cosas en un complemento no es necesario una buena parte del tiempo; por lo general, equivale a cambiar el espacio de nombres para lo que hacen algunos complementos. –

+1

No contestó la pregunta real relacionada con jquery, pero el enlace respondió mi necesidad por ahora. Gracias – swan

2

No es necesario utilizar jQuery para eso, sólo el javascript puro:

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=/"; 
} 

Y llama con setCookie (cookieName, null, -1);

+2

, pero él quiere hacer esto usando jQuery. –

+0

Sí, me encantaría ver la versión de jquery si hay alguna, por favor. Pero siempre estoy escuchando cualquier posible solución. Gracias – swan

+6

Escuchen ustedes dos, jQuery ** es ** Javascript.No hay absolutamente ninguna razón para quererlo de una manera u otra, porque son lo mismo. jQuery no debe usarse para hacer esto. –

Cuestiones relacionadas