Sebastian Schimpf: Cookie löschen mit js

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

  1. Hi,

    DeleteCookie (style);

    Du übergibst eine Variable namens style, obwohl Du einen String mit dem Inhalt "style" übergeben willst.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. 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

    2. 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

      1. 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