Cookie löschen mit js
Sebastian Schimpf
- javascript
Hallo,
ich möchte einen Cookie verlässlich löschen,
der mit folgenden Werten gepseichert wurde.
Name: style
Inhalt: lightwave
Domain: .kunden.web-xact.de
Pfad: /
Gültig bis: Dienstag, 17. Januar 2006 19:13:44
Folgende Funktion wende ich an:
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" +
exp.toGMTString();
}
DeleteCookie (style);
Bei dem Aufruf dieses Scripts passiert mit dem Cookie genau garnichts! :-0
Ich bekommen nur eine Fehlermeldung in der js-Konsole:
Fehler: style is not defined
Ich habe keine Ahnung, was ich falsch mache!
Kann mir jemand einen Tipp geben?
Gruß,
Sebastian
Hi,
DeleteCookie (style);
Du übergibst eine Variable namens style, obwohl Du einen String mit dem Inhalt "style" übergeben willst.
cu,
Andreas
Hallo Andreas,
Du übergibst eine Variable namens style, obwohl Du einen String mit dem Inhalt "style" übergeben willst.
Danke für diesen Hinweis,
doch auch das bringt keinerlei Veränderungen!
cu,
Andreas
cu,
Sebastian
Hallo,
hier meine zweite Antwort.
Ich habe inzwischen Entdeckungen gemacht.
Ich habe bemerkt, dass für die tatsächliche Abfrage nach dem
Cookie ein viel längeres Script vorgesehen war. Der Code, den ich vorhin gepostet habe, war die Vorarbeit eines befreundeten Programmierers (PHP, MySQL) der das Script etwas halbherzig eingebaut hatte,
wie ich nun feststellen musste.
Es sieht nun so aus:
<script type="text/javascript">
<!--
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" +
exp.toGMTString();
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
GetCookie ("style");
DeleteCookie ("style");
-->
</script>
Es löscht aber immernoch nicht den cookie namens style!
Weiß jemand was ich falsch mache?
Gruß,
Sebastian
Hi,
Es löscht aber immernoch nicht den cookie namens style!
Du setzt die Gültigkeit nur 1 Millisekunde in die Vergangenheit. Versuche es mit dem absolutem "Nullpunkt", also dem 1.1.1970 0 Uhr UTC.
freundliche Grüße
Ingo