¿Cómo puedo eliminar una cookie específica con el nombre roundcube_sessauth
?
No debería lo siguiente:
function del_cookie(name) {
document.cookie = 'roundcube_sessauth' +
'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}
Y entonces:
<a href="javascript:del_cookie(name);">KILL</a>
¿Matar la roundcube_sessauth
galleta?
javascript
cookies
Charlie
fuente
fuente
name
? ¿Cual es el punto de eso? ¿O es una resaca de una versión más versátil que le permite especificar el nombre de la cookie?How can I delete a
specific
cookie
Respuestas:
Debe definir la ruta en la que existe la cookie para asegurarse de que está eliminando la cookie correcta.
Si no especifica la ruta, el navegador establecerá una cookie en relación con la página en la que se encuentra actualmente, por lo que si elimina la cookie mientras está en una página diferente, la otra cookie continúa existiendo.
Edición basada en el comentario de @Evan Morrison.
Tenga en cuenta que, en algunos casos, para identificar la cookie correcta,
Domain
se requiere el parámetro.Por lo general, se define como
Domain=.yourdomain.com
.Colocar un punto delante de su nombre de dominio significa que esta cookie puede existir en cualquier subdominio (
www
también cuenta como subdominio).Además, como se menciona en la respuesta de @ RobertT, las
HttpOnly
cookies no se pueden eliminar con JavaScript en el lado del cliente.fuente
Path
mayoría de los casos.Max-Age=0
, si te interesan esas cosas.Para eliminar una cookie, establezca la
expires
fecha en algo en el pasado. Una función que hace esto sería.Luego, para eliminar una cookie llamada
roundcube_sessauth
simplemente hazlo.fuente
path=/
clave es importante para la compatibilidad del navegador.// si se pasa exMins = 0, se eliminará tan pronto como lo cree.
fuente
No estoy realmente seguro de si esa era la situación con la versión Roundcube de mayo '12, pero para la actual la respuesta es que no puede eliminar la
roundcube_sessauth
cookie de JavaScript, ya que está marcada comoHttpOnly
. Y esto significa que no es accesible desde el código del lado del cliente JS y solo se puede eliminar mediante una secuencia de comandos del lado del servidor o mediante la acción directa del usuario (a través de algunas mecánicas del navegador como el depurador integrado o algún complemento).fuente
Puedes probar esta solución
fuente
En mi caso, utilicé el código de soplado para diferentes entornos.
fuente