PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Javascript: Konqueror und Cookies



BlueJay
06-11-2005, 12:56
Hallo Leute,

habe hier Probleme mit Cookies unter Konqueror:
Um einen Zustand abzuspeichern, dient folgende Javascript-Funktion:


function set_cookie(kennung,level,punkte)
{ var ablauf = new Date();
var dreimonate = ablauf.getTime() + (100 * 24 * 60 * 60 * 1000);
ablauf.setTime(dreimonate);
var t=kennung+'='+level+','+punkte+'; expires=' + ablauf.toGMTString();
document.cookie=t;
}


Um zu checken, ob das Cookie angekommen ist, gibt es folgende Funktion:


function check_cookie() { return document.cookie; }


der Vollständigkeit halber die Speicherfunktion:


function speichern()
{ set_cookie('gc_205',level,p0);
if (document.cookie) alert('Zustand gespeichert');
else alert('konnte Zustand nicht speichern!\nCookies zugelassen?');
}

Firefox und Opera reagieren soweit, wie erwartet.
Aber der Konqueror lügt mich frech an:

er behauptet fest und steif, dass das Cookie gesetzt ist, und das noch, bevor ich die Anfrage, ob er das darf, bejaht oder verneint habe.

Mein weiterer Versuch dazu:
einen Timeout reinsetzen, der 5 Sekunden wartet, um Zeit zu lassen, die Anfrage zu beantworten.

Schafft man es in der Zeit, ist auch der Konqueror "ehrlich", sonst behauptet er frech, das Cookie sei gesetzt.

Frage:
Kann man so was wie "Cookie pending" abfragen?

so long,
BlueJay

anda_skoa
06-11-2005, 17:01
Ich würde vermuten, daß aus der Sicht von Konqueror das Cookie gesetzt wurde.

Der Cookie Manager in kded fragt dann praktisch anschließend den Benutzer, ob man er es behalten möchte.

Konqueror kann das egal sein, denn beim nächsten Request fragt er es ohnehin wieder beim Cookie Manager ab.

Ciao,
_

BlueJay
07-11-2005, 08:45
Klingt plausibel, dass das Cookie so lange lebt, bis man es abweist.
Ist das eigentlich beim IE genau so? (Sorry, habe keinen zum Testen, erinnere mich aber, dass ich den auch auf "Nachfragen" gestellt hatte)

Ist nur ziemlich doof, wenn die Nachricht erscheint: "Daten gespeichert", dann lehnt der User das Cookie kaltlächelnd ab und sagt: "denkste!" :o

Deshalb die Frage nach "Cookie pending".

so long,
BlueJay

anda_skoa
07-11-2005, 10:14
Wenn unsere Vermutung stimmt, dann ist die Meldung eigentlich in Ordnung, denn dann sind die Daten gespeichert worden und werden nur später vom Benutzer gelöscht.

Ich würde mir da keine gröberen Gedanken darüber machen, ein Benutzer der Konqueror mit Cookie-Policy "Ask" verwendet, wird sich vermutlich der Konsequenzen im Klaren sein.

Das einzig "gefährliche" sind in diesem Fall zuviele Cookies oder Cookiezugriffversuche pro Seite.
Wenn ich auf "Ask" eingestellt habe und mehr als ca. fünf mal pro Page auf Ablehnen klicken muß, klicke ich als nächstes auf "immer ablehnen"

Ciao,
_

BlueJay
07-11-2005, 11:35
Wenn ich auf "Ask" eingestellt habe und mehr als ca. fünf mal pro Page auf Ablehnen klicken muß, klicke ich als nächstes auf "immer ablehnen"


Das ist das Tolle an den neueren Browsern, dass man das pro Seite einstellen kann!

Ich denke auch, dass ich da zur Zeit nichts verbessern kann, aber es hätte ja sein können, dass Konqueror und Co. so ein Signal "vielleicht" anbieten.

so long,
BlueJay