Comment supprimer dynamiquement, via javascript, un cookie de session, sans redémarrer manuellement le navigateur?
J'ai lu quelque part que le cookie de session est conservé dans la mémoire du navigateur et sera supprimé lorsque le navigateur sera fermé.
// sessionFooCookie is session cookie
// this code does not delete the cookie while the browser is still on
jQuery.cookie('sessionFooCookie', null);
Merci.
Plus d'informations: L'extrait de code ci-dessus est un extrait de code javascript, utilisant jQuery et son plugin jQuery.cookie.
Un cookie de session est juste un cookie normal sans date d'expiration. Ceux-ci sont gérés par le navigateur pour être valides jusqu'à la fermeture de la fenêtre ou la fermeture du programme.
Mais si le cookie est un cookie httpOnly
(un cookie avec le paramètre httpOnly
), vous ne pouvez pas le lire, le modifier ou le supprimer de l'extérieur de HTTP (ce qui signifie qu'il doit être changé sur le serveur).
Assurez-vous de fournir le même chemin exact que lorsque vous le définissez, c'est-à-dire.
Réglage:
$.cookie('foo','bar', {path: '/'});
Suppression:
$.cookie('foo', null, {path: '/'});
Notez que
$.cookie('foo', null);
ne fonctionnera PAS, car il ne s'agit en fait pas du même cookie.
J'espère que ça t'as aidé. Il en va de même pour les autres options du hachage
Il existe des problèmes connus avec IE et Opera ne supprime pas les cookies de session lors de la définition de la date d'expiration dans le passé (ce que fait le plugin de cookie jQuery))
Cela fonctionne bien dans Safari et Mozilla/FireFox.
vous pouvez le faire en définissant la date d'expiration sur hier.
Mon nouvel ensemble de messages sur les cookies en JavaScript pourrait vous aider.
http://www.markusnordhaus.de/2012/01/20/using-cookies-in-javascript-part-1/
Cela doit être fait côté serveur, où le cookie a été émis.