Frage an cookies, jquery, javascript – So löschen Sie Session-Cookie?

48

Wie kann ein Sitzungscookie dynamisch über Javascript gelöscht werden, ohne den Browser manuell neu zu starten?

Ich habe irgendwo gelesen, dass das Sitzungscookie im Browserspeicher gespeichert bleibt und beim Schließen des Browsers gelöscht wird.

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

Vielen Dank.

Weitere Informationen: Das obige Code-Snippet ist ein JavaScript-Code-Snippet, das jQuery und sein Plugin jQuery.cookie verwendet.

Deine Antwort

6   die antwort
64

werden vom Browser so lange bearbeitet, bis das Fenster geschlossen oder das Programm beendet wird.

Aber wenn der Cookie einhttpOnly Keks (ein Keks mit derhttpOnly Parameter gesetzt), können Sie sie nicht von außerhalb von HTTP lesen, ändern oder löschen (dh sie muss auf dem Server geändert werden).

Zu Ihrer Information: mitdas HTTP in @ Gumbos letztem Satz meint er eigentlichServerseite. ThomasDC
Ich muss sagen, dass ich mit Kopf gegen den Monitor geschlagen habe, ungefähr eine Stunde mit Frage"Warum kann ich Session-Cookies nicht aus dem Javascript löschen?", bis ich die kurze Antwort nicht gefunden habe: es warhttpOnly... Danke, sehr nützlich. BlitZ
1

auf der der Cookie ausgegeben wurde.

Wie machst du das? Insbesondere im Knoten, wenn Sie können! Vielen Dank. Joe Martella
Warum denkst du, dass? ysth
-3

Löschen einesjQuery-Cookie:

$(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
});
32

dass Sie genau denselben Pfad wie beim Festlegen angeben, d. H.

Rahmen:

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

Entfernen:

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

Beachten Sie, dass

$.cookie('foo', null); 

wird NICHT funktionieren, da es eigentlich nicht das gleiche Cookie ist.

Hoffentlich hilft das. Gleiches gilt für die anderen Optionen im Hash

Dieser Beitrag ersparte mir stundenlange Kopfschmerzen. Vielen Dank! lfender6445
Vielen Dank für die Klarstellung. Ich wünschte, ich könnte es ein paar Mal abstimmen. Cory Schires
2

Meine neuen Posts über Cookies in JavaScript könnten Ihnen helfen.

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

Diese URL ist weg, fürchte ich nxthor
6

bei denen IE und Opera Sitzungscookies nicht entfernen, wenn das Ablaufdatum auf die Vergangenheit gesetzt wird (genau das macht das jQuery-Cookie-Plugin).

Dies funktioniert gut in Safari und Mozilla / FireFox.

Verwandte Fragen