¿Eliminar cookie por nombre?
¿ Cómo puedo eliminar una cookie específica con el nombre roundcube_sessauth
?
¿No debería ser lo siguiente?
function del_cookie(name) {
document.cookie = 'roundcube_sessauth' +
'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}
Y luego:
<a href="javascript:del_cookie(name);">KILL</a>
¿ Matar la roundcube_sessauth
galleta?
Debe definir la ruta en la que existe la cookie para asegurarse de que está eliminando la cookie correcta.
function set_cookie(name, value) {
document.cookie = name +'='+ value +'; Path=/;';
}
function delete_cookie(name) {
document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
Si no especifica la ruta, el navegador establecerá una cookie relativa a 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. Generalmente se define como Domain=.yourdomain.example
. 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, HttpOnly
las cookies no se pueden eliminar con JavaScript en el lado del cliente.
Para eliminar una cookie, establezca la expires
fecha en algo pasado. Una función que haga esto sería.
var delete_cookie = function(name) {
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
};
Luego, para eliminar una cookie llamada roundcube_sessauth
simplemente hazlo.
delete_cookie('roundcube_sessauth');
//si se pasa exMins=0, se eliminará tan pronto como lo cree.
function setCookie(cname, cvalue, exMins) {
var d = new Date();
d.setTime(d.getTime() + (exMins*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
setCookie('cookieNameToDelete','',0) // this will delete the cookie.