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 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.
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?