Você deve definir o caminho no qual o cookie existe para garantir que você esteja excluindo o cookie correto.
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;';
}
Se você não especificar o caminho, o navegador definirá um cookie em relação à página em que você está atualmente; portanto, se você excluir o cookie enquanto estiver em uma página diferente, o outro cookie continuará existindo.
Edite com base no comentário de @Evan Morrison.
Esteja ciente de que, em alguns casos, para identificar o cookie correto, o Domain
parâmetro é necessário.
Geralmente é definido como Domain=.yourdomain.com
.
Colocar um ponto na frente do seu nome de domínio significa que esse cookie pode existir em qualquer subdomínio ( www
também conta como subdomínio).
Além disso, como mencionado na resposta de @ RobertT, os HttpOnly
cookies não podem ser excluídos com JavaScript no lado do cliente.
name
? Qual o sentido disso? Ou é uma ressaca de uma versão mais versátil que permite especificar o nome do cookie?