cookies
scorn
- javascript
0 Eidgenosse0 scorn0 Eidgenosse0 scorn
0 Sönke Tesch
Hut sei mit euch!
Ich weiß, die Frage ist völlig unqualifiziert, aber ich habe ein wenig gesucht, und in selfhtml unvollständige und im Archiv für mich unpassende infos gefunden.
Im Klartext:
Ich hab absolut nich begriffen, wie man Cookies schreibt.
Im selfhtml wird gesagt man schreibt nach Schmema
document.cookie = x;
Nun funktioniert es aber nicht, wenn ich nicht notiere:
document.cookie = "x=" + what.ever;
Das ist es aber nicht, was ich will, ich will schließlich nur what.ever speichern nicht noch "x=". Aber irgendwie scheint der Browser das dann nicht als Cookie zu erkennen.
Inner Praxis: http://users.skynet.be/fa048778/shoutbox/index.html
Ich will nach dem Laden abfragen, ob ein Cookie existiert, und dessen Wert dann statt "name" einsetzen. Bei Senden will ich ein Cookie schreiben, in dem der Wert des inputs "name" gespeichert wird.
Bloß: wie?
hütlichst
scorn
Hallo scorn,
jedes Kind braucht einen Namen, auch ein Cookie. Deshalb brauchst Du etwas wie
name=wert
Anders geht's nicht. Du mußt dann beim Auslesen basteln, um auf "wert" zu kommen.
Gruß
Eidgenosse
Hut sei mit euch!
Hallo scorn,
jedes Kind braucht einen Namen, auch ein Cookie. Deshalb brauchst Du etwas wie
name=wert
Anders geht's nicht. Du mußt dann beim Auslesen basteln, um auf "wert" zu kommen.
Das ist kein Kind, das isn Keks...
Also ich hab ja gelernt, dass man keine persönliche Beziehung (Name) zu etwas entwickeln soll, dass man essen will...
Nen Tipp, wie ich da bastle?
Und ist das nich ne Lücke in selfhtml, dass ich das missverstehe..?
hütlichst
scorn
Hallo scorn,
suche mit dem Regulären Ausdruck nach "name=(\w+)" und hole Dir den Wert aus den Klammern. Wie das genau geht, mußt Du in SelfHTML unter "Reguläre Ausdrücke" nachlesen - ich weiß das jetzt auch nicht definitiv.
Gruß
Eidgenosse
Fröhliche Weihnachten!
Also, am Anfang klappte es mit den RegExp, aber jetzt...
Ich habe noch ein expires hinzugefügt, weil mein Cookie noch eine Weile bleiben sollen, aber jetzt habe ich Probleme den Wert aus den Klammern zu kriegen.
Die relevanten Teile wären dann wohl:
document.cookie = "Name=" + document.otto.name.value + "\t;expires=" + ablauf.toGMTString();
undif(document.cookie) Ausgabe();
}
function Ausgabe() {
var Ausdruck = /(\bName=\b)(\S+)\t(\b;expires=\b.+)/; /* Name=what|3v3r expires=Tue, 1 Apr 2003 19:16:54 UT */
Ausdruck.exec(document.cookie);
document.otto.name.value = RegExp.$2;
Vorhin hatte kein ; eingefügt, damit klappte es, aber so erkannte der Browser es nicht mehr als expires...
Jetzt funktioniert es nicht mehr, aber zumindest wird das expires anerkannt.
Gibt es irgendwas im Umgang mit RegExp, das ich nicht beachtet habe?
vielen Dank
scorn
Ich hab absolut nich begriffen, wie man Cookies schreibt.
Im selfhtml wird gesagt man schreibt nach Schmema
document.cookie = x;
Nun funktioniert es aber nicht, wenn ich nicht notiere:
document.cookie = "x=" + what.ever;
Das ist es aber nicht, was ich will, ich will schließlich nur what.ever speichern nicht noch "x=". Aber irgendwie scheint der Browser das dann nicht als Cookie zu erkennen.
Das Problem an der reichlich konfusen Implementation von Cookies in Javascript ist, daß man in document.cookie nicht "ein Cookie" bekommt, sondern die rohe Datenzeile, die zwischen Browser und Server hin- und hergeschickt wird.
Das "x=" benötigst Du, weil eine Seite durchaus mehrere Cookies setzen kann - dementsprechend braucht jedes Cookie einen Namen und dementsprechend sieht dann auch die document.cookie-Zeile mit den ganzen "Name=Wert"-Brocken aus.
Unter http://kino-fahrplan.de/privat/st/cookies/cookie_box.js findest Du einige Routinen, die den Umgang mit Cookies erleichtern (oder zumindest als Beispiel dienen).
Gruß,
soenk.e