Cookies
Hauke
- javascript
0 Hans350 Sönke Tesch
Hallo,
meine html-Seite, sieht folgendermaßen aus:
<html>
<head>
<script type="text/javascript">
<!--
function CookieMachen(){
var auscookie
var incookie = "trallala"
if (document.cookie){
auscookie = "Cookie vorhanden. Eintrag lautet: " + document.cookie;
alert(auscookie);
}
else{
alert ("Kein Cookie gefunden.")
document.cookie = incookie;
var info = "Neuer Cookie-Eintrag: " + incookie;
alert (info);
}
}
//-->
</script>
</head>
<body onLoad="javascript: CookieMachen();" bgcolor="#000000">
</body>
</html>
Diese Seite prüft, ob ein Cookie mit dem Eintrag trallala vorhanden ist, falls keiner vorhanden ist, wird ein Cookie mit dem Eintrag trallala gespeichert.
In diesem Cookie gibt es allerdings auch Einträge vom Tripod-Server (irgendwelche Nummern). Wie kann ich JavaScript dazu bringen, nur zu gucken ob der String trallala vorhanden ist, und nicht auf diese Nummern zu reagieren?
Danke für alle Antworten,
Hauke
Hallo,
...Wie kann ich JavaScript dazu bringen, nur zu gucken ob der String trallala vorhanden ist, und nicht auf diese Nummern zu reagieren?
Im Cookie streht drin:
xyz1=ABC;tralala=1234567;xyz2=DEF; usw.
Man muß also nach tralala= suchen, um den Anfang zu finden, und nach dem Semikolon danach für das Ende (am Schuß fehlt das Semikolon), z.B. so:
------schnipp--------
alert ( "Inhalt von Cookie tralala : " + cookie_read("tralala") )
function cookie_read(name) {
var name;
var u=1, o=1, w=" ";
var wert="";
var n=name+"=";
w=document.cookie.substring
(0,document.cookie.length);
u=w.indexOf(n,0);
if (u > -1) {
u=u + n.length;
o=w.indexOf(";",u);
if (o == -1) o=w.length;
wert = w.substring(u,o);
}
return wert;
}
------schnapp-----------
Wenn im Cookie-Inhalt auch Gleichheitszeichen oder Semikolon vorkommen sollen, bedarf es besonderer Maßnahmen, z.B. können diese durch "exotische", nicht benötigte Zeichen ersetzt werden.
Gruß
Hans35
document.cookie = incookie;
var info = "Neuer Cookie-Eintrag: " + incookie;
alert (info);
Diese Seite prüft, ob ein Cookie mit dem Eintrag trallala vorhanden ist, falls keiner vorhanden ist, wird ein Cookie mit dem Eintrag trallala gespeichert.
In diesem Cookie gibt es allerdings auch Einträge vom Tripod-Server (irgendwelche Nummern). Wie kann ich JavaScript dazu bringen, nur zu gucken ob der String trallala vorhanden ist, und nicht auf diese Nummern zu reagieren?
Wie Hans bereits richtig angedeutet hat, steht in document.cookie nicht ein einzelner Cookie, sondern alle Cookies, die für diese Seite gelten, und zwar im Format "name=daten;name=daten;...".
Zum Reinschreiben mußt Du das gleiche Format verwenden, im Namen auf Zeichen außerhalb von a-z und 0-9 verzichten und die Daten vorher mit escape() bearbeiten.
Du kannst Dir allerdings die ganze Arbeit sparen, indem Du fertige Funktionen verwendest: http://kino-fahrplan.de/privat/st/cookies/cookie_box.js.
Gruß,
soenk.e