Ich versuche, Sitzungscookies in Javascript wie folgt zu setzen:
document.cookie = 'name=alex; path=/'
Chrome löscht es jedoch nicht, selbst wenn ich den Browser beende und erneut starte.
Ich habe Firefox und Opera eingecheckt und beide funktionieren wie vorgesehen - sie löschen Sitzungscookies beim Beenden des Browsers.
Ignoriert Chrome nur Ablaufregeln?
Ich habe mehrere Betriebssysteme eingecheckt und festgestellt, dass Sitzungscookies unter Chrome unter Windows XP und Ubuntu entfernt werden, jedoch NICHT unter Mac OSX Lion.
ini_set("session.cookie_lifetime", 0)
und'remember_me_seconds' => 1
. Aber hilft nicht. Firefox funktioniert einwandfrei, Chrome jedoch nicht.Antworten:
Dies kann dadurch verursacht werden, dass Chrome dort eingestellt ist, wo Sie aufgehört haben .
Weiterführende Literatur
quelle
Ich hatte gerade das gleiche Problem mit einem Cookie, das am Ende der Browsersitzung abläuft.
Leider nicht, also habe ich ein bisschen mit den Einstellungen des Browsers gespielt.
Es stellte sich heraus, dass die Funktion, die sich die geöffneten Registerkarten beim Schließen des Browsers merkt, die Ursache des Problems war. (Die Funktion heißt "Beim Start" - "Weiter dort, wo ich aufgehört habe". Zumindest in der aktuellen Version von Chrome).
Dies passiert auch mit Opera und Firefox.
quelle
Ich hatte gerade dieses Problem. Ich habe festgestellt, dass selbst nach dem Schließen meines Browsers viele Chrome-Prozesse ausgeführt wurden. Es stellte sich heraus, dass diese jeweils von meiner Chrome-Erweiterung stammten.
Unter den erweiterten Einstellungen habe ich das Kontrollkästchen deaktiviert
'Continue running background apps when Google Chrome is closed'
und meine Sitzungscookies haben ordnungsgemäß funktioniert.Immer noch ein Problem für uns alle Entwickler, die programmiert haben und erwartet haben, dass Sitzungscookies gelöscht werden, wenn der Benutzer mit dem Surfen fertig ist.
quelle
Dies liegt möglicherweise daran, dass Chrome nach dem Schließen des Browsers immer noch im Hintergrund ausgeführt wird. Versuchen Sie, diese Funktion wie folgt zu deaktivieren:
Ich denke jedoch, Chrome sollte frühere Sitzungscookies beim Starten überprüfen und löschen, anstatt sie zu schließen.
quelle
Ich musste beides, deaktiviert, unter den erweiterten Einstellungen von Chrome:
quelle
Eine einfache Alternative ist die Verwendung des neuen sessionStorage- Objekts. Laut den Kommentaren bleibt sessionStorage zwischen den Neustarts bestehen, wenn Sie "Weiter machen, wo ich aufgehört habe" aktiviert haben.
quelle
Ich hatte das gleiche Problem mit "document.cookie" in Windows 8.1. Die einzige Möglichkeit, mit der Chrome das Cookie löscht, bestand darin, es aus dem Task-Manager zu schließen (keine wirklich ausgefallene Methode). Daher habe ich beschlossen, die Cookies über das Backend zu verwalten oder etwas zu verwenden wie "js-cookie".
quelle
Haben Sie versucht, die Hangout-Erweiterung in Google Chrome zu entfernen? weil es Chrom zwingt, weiterzulaufen, selbst wenn Sie alle Fenster schließen.
Ich war auch mit dem Problem konfrontiert, aber es wurde jetzt gelöst.
quelle
Gehe zu
chrome://settings/content/cookies?search=cookies
Aktivieren
Clear cookies and site data when you quit Chrome
.Hat für mich gearbeitet
quelle
Wenn Sie die Domain für das PHP-Sitzungscookie festlegen, scheinen die Browser diese etwa 30 Sekunden lang beizubehalten. Es scheint keine Rolle zu spielen, ob Sie den Tab oder das Browserfenster schließen.
Wenn Sie also Sitzungen mit den folgenden Methoden verwalten, bleibt das Cookie möglicherweise länger als erwartet im Browser hängen.
Die einzige Möglichkeit, das hängende Cookie zu entfernen, besteht darin, die Codezeile zu entfernen, mit der die Domäne des Sitzungscookies festgelegt wird. Achten Sie auch auf die Funktion session_set_cookie_params (). Das Punktpräfix der Domain scheint ebenfalls keinen Einfluss auf das Problem zu haben.
Dies kann ein PHP-Fehler sein, da PHP ein Sitzungscookie (dh
PHPSESSID=b855ed53d007a42a1d0d798d958e42c9
) im Header sendet, nachdem die Sitzung zerstört wurde. Oder es könnte ein Problem mit der Serverausbreitung sein, aber ich glaube nicht, da mein Test auf einem privaten Server durchgeführt wurde.quelle
Ich hatte gerade das Problem, dass Chrome eine Sitzungs-ID speichert, aber ich mag die Idee nicht, die Option zu deaktivieren, um dort fortzufahren, wo ich aufgehört habe. Ich habe mir die Cookies für die Website angesehen und ein Sitzungs-ID-Cookie für die Anmeldeseite gefunden. Das Löschen hat mein Problem nicht behoben. Ich habe nach der Domain gesucht und festgestellt, dass in der Domain ein weiteres Sitzungs-ID-Cookie vorhanden ist. Das manuelle Löschen beider Sitzungs-ID-Cookies hat das Problem behoben, und ich habe den Browser nicht geschlossen und erneut geöffnet, wodurch die Cookies möglicherweise wiederhergestellt wurden.
quelle
Die Lösung wäre zu verwenden
sessionStorage
, FYI: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStoragequelle
Google Chrome hat ein Problem, wenn Sie Cookies auf falsche Weise setzen und deaktivieren. Dies ist PHP-Code. Ich dachte, das gibt dir eine Idee.
Cookie setzen
Falscher Weg und wird nicht funktionieren (Hinweis PATH fehlt)
Der richtige Weg behebt das Problem bei Google Chrome
quelle