Pergunta sobre javascript, cookies, jquery – Como excluir o cookie de sessão?

48

Como dinamicamente, via javascript, excluir um cookie de sessão, sem reiniciar manualmente o navegador?

Eu li em algum lugar que o cookie de sessão é retido na memória do navegador e será removido quando o navegador for fechado.

// sessionFooCookie is session cookie
// this code does not delete the cookie while the browser is still on
jQuery.cookie('sessionFooCookie', null);

Obrigado.

Mais informações: O snippet de código acima é um snippet de código javascript, usando jQuery e seu plugin jQuery.cookie.

Sua resposta

5   a resposta
64

o. Aqueles são manipulados pelo navegador para serem válidos até que a janela seja fechada ou o programa seja encerrado.

Mas se o cookie é umhttpOnly cookie (um cookie com ohttpOnly parâmetro set), você não pode ler, alterar ou excluir de fora do HTTP (o que significa que ele deve ser alterado no servidor).

Devo dizer que eu estava batendo de cabeça contra o monitor cerca de uma hora com pergunta"Por que não consigo excluir o cookie de sessão do javascript?", até que eu não encontrei a resposta curta: foihttpOnly... Obrigado, muito útil. BlitZ
FYI: como HTTP na última sentença de @ Gumbo, ele realmente significalado do servidor. ThomasDC
6

de sessão ao configurar a data de expiração para o passado (que é o que o plugin de cookie jQuery faz)

Isso funciona bem no Safari e no Mozilla / FireFox.

32

iu, ou seja,

Configuração:

$.cookie('foo','bar', {path: '/'});

Removendo:

$.cookie('foo', null, {path: '/'});

Observe que

$.cookie('foo', null); 

NÃO funcionará, pois na verdade não é o mesmo cookie.

Espero que ajude. O mesmo vale para as outras opções no hash

Obrigado por esclarecer isso. Gostaria de poder votar algumas vezes. Cory Schires
Este post me salvou horas de dor de cabeça. obrigado! lfender6445
2

Meu novo conjunto de postagens sobre cookies em JavaScript pode ajudar você.

http://www.markusnordhaus.de/2012/01/20/using-cookies-in-javascript-part-1/

essa URL se foi, eu temo nxthor
-3

Excluindo umcookie jQuery:

$(function() {
    var COOKIE_NAME = 'test_cookie';
    var options = { path: '/', expires: 10 };
    $.cookie(COOKIE_NAME, 'test', options); // sets the cookie
    console.log( $.cookie( COOKIE_NAME)); // check the value // returns test
    $.cookie(COOKIE_NAME, null, options);   // deletes the cookie
    console.log( $.cookie( COOKIE_NAME)); // check the value // returns null
});

Perguntas relacionadas