function deleteAllCookies() {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
Tenga en cuenta que este código tiene dos limitaciones:
- No eliminará las cookies con la
HttpOnly
marca establecida, ya que la HttpOnly
bandera deshabilita el acceso de Javascript a la cookie.
- No eliminará las cookies que se hayan establecido con un
Path
valor. (Esto a pesar del hecho de que esas cookies aparecerán document.cookie
, pero no puede eliminarlas sin especificar el mismo Path
valor con el que se configuró).
name = ""
lugar, para borrar el valor sin nombre.trim()
espacio adicional osplit('; ')
(por ';') para que funcione correctamente. He propuesto una edición.Un trazador de líneas
En caso de que quiera pegarlo rápidamente ...
Y el código para un bookmarklet:
fuente
localStorage
lo que tambiénwindow.localStorage.clear()
pueden ser útilesY aquí hay uno para borrar todas las cookies en todas las rutas y todas las variantes del dominio (www.midominio.com, midominio.com, etc.):
fuente
Después de un poco de frustración con esto mismo, activé esta función que intentará eliminar una cookie con nombre de todas las rutas. Simplemente llame a esto para cada una de sus cookies y debería estar más cerca de eliminar todas las cookies que antes.
Como siempre, diferentes navegadores tienen un comportamiento diferente, pero esto funcionó para mí. Disfrutar.
fuente
Si tiene acceso al complemento jquery.cookie , puede borrar todas las cookies de esta manera:
fuente
Hasta donde sé, no hay forma de eliminar una cookie de cualquier conjunto de cookies en el dominio. Puede borrar una cookie si conoce el nombre y si el script está en el mismo dominio que la cookie.
Puede establecer el valor en vacío y la fecha de vencimiento en algún lugar del pasado:
Aquí hay un excelente artículo sobre la manipulación de cookies mediante javascript.
fuente
document.cookie="username;expires=" + new Date(0).toGMTString()
, sin mucha diferencia si la cookie caduca hace 1 segundo o en 1970Más simple Más rápido.
fuente
Una respuesta influenciada por la segunda respuesta aquí y W3Schools
Parece estar trabajando
editar: wow, casi exactamente lo mismo que Zach es interesante cómo Stack Overflow los puso uno al lado del otro.
editar: nvm que aparentemente fue temporal
fuente
Pensé que compartiría este método para borrar las cookies. Quizás pueda ser útil para otra persona en algún momento.
fuente
Puede obtener una lista mirando la variable document.cookie. Borrarlos a todos es solo cuestión de recorrerlos y borrarlos uno por uno.
fuente
No sé por qué la primera respuesta votada no funciona para mí.
Como decía esta respuesta :
Entonces, mi idea es agregar un control de versión de Cookies con el conjunto completo de configuración, obtención y eliminación de cookies:
fuente
let expireTime = now.getTime();
now.setTime(expireTime);
document.cookie =document.cookie+';expires='+now.toUTCString()+';path=/';
eliminará las cookies.Tengo un módulo de control de cookies más sofisticado y orientado a OOP. También contiene un
deleteAll
método para borrar todas las cookies existentes. Tenga en cuenta que esta versión deldeleteAll
método tiene una configuraciónpath=/
que provoca la eliminación de todas las cookies dentro del dominio actual. Si necesita eliminar las cookies solo de algún alcance, tendrá que actualizar este método agregandopath
parámetros dinámicos a este método.Hay
Cookie
clase principal :El método de establecimiento de cookies (
Cookie.set
) es bastante complejo, así que lo descompuse en otra clase. Hay un código de este:fuente
Aquí hay un código simple para eliminar todas las cookies en JavaScript .
Ejecute la función
deleteAllCookies()
para borrar todas las cookies.fuente
Enfoque funcional + ES6
fuente
fuente
Después de probar casi todos los métodos enumerados en varios estilos de navegadores en múltiples estilos de cookies, encontré que casi nada aquí funciona, incluso el 50%.
Por favor, ayuda a corregir según sea necesario, pero voy a tirar mis 2 centavos aquí. El siguiente método desglosa todo y básicamente construye la cadena de valor de la cookie en función de las piezas de configuración, además de incluir una compilación paso a paso de la cadena de ruta, comenzando por
/
supuesto.Espero que esto ayude a otros y espero que cualquier crítica pueda venir en forma de perfeccionar este método. Al principio quería un simple 1-liner como otros buscaban, pero las cookies JS son una de esas cosas que no son tan fáciles de manejar.
fuente
Jquery:
vainilla JS
fuente
Encontré un problema en IE y Edge. Los navegadores webkit (Chrome, safari) parecen ser más indulgentes. Al configurar las cookies, siempre establezca la "ruta" a algo, porque el valor predeterminado será la página que configura la cookie. Entonces, si intenta caducar en una página diferente sin especificar la "ruta", la ruta no coincidirá y no caducará. El
document.cookie
valor no muestra la ruta o la caducidad de una cookie, por lo que no puede deducir dónde se configuró la cookie mirando el valor.Si necesita expirar las cookies de diferentes páginas, guarde la ruta de la página de configuración en el valor de la cookie para que pueda retirarla más tarde o siempre agregue
"; path=/;"
el valor de la cookie. Entonces caducará desde cualquier página.fuente