Sebastian Schimpf: Abfrage ob Cookies im Client aktiviert sind

Hallo,

ich bin gerade dabei mir ein JavaScript zurechtzustückeln,
dass im Browser abfragen soll, ob Cookies aktiviert sind.

Immerhin bin ich soweit, dass es keine Fehlermeldung mehr in der JavaScript-Konsole gibt. :-) Juchheee!
Funktionieren tut das Ding aber irgendwie nicht.
Ich bekomme die von mir eingebauten Alert-Meldungen einfach nicht auf den Schirm.

Ich bin eben Designer und kein JavaScript-Programmierer.
Wer kann mir die Qualen beenden, oder wenigsten erleichtern?

Hier der Kot:

// Abfrage nach aktivierten/deaktivierten Cookies

function checkCookie(){
 document.cookie = "ZabCookie=Test; path=/; domain=zabdesign.de";
 function getCookie(name){
   var i=0  //Suchposition im Cookie
   var suche = name+"="
   while (i<document.cookie.length){
      if (document.cookie.substring(i, i+suche.length)==suche){
         var ende = document.cookie.indexOf(";", i+suche.length)
         ende = (ende>-1) ? ende : document.cookie.length
         var cook = document.cookie.substring(i+suche.length, ende)
         return unescape(cook)
      }
      i++
   }
   return null
}

function DeleteCookie(name,path,domain) {
    if (Get_Cookie(name)) document.cookie = name + "=" +
        ( (path) ? ";path=" + path : "") +
        ( (domain) ? ";domain=" + domain : "") +
        ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

if (!getCookie("ZabCookie")){
 alert("Cookies sind deaktiviert!");
 }
   else{
     // DeleteCookie("ZabCookie")
    alert("Cookies sind aktiviert!");
   }
}

Bitte nicht meckern! ;-)

Liebe Grüße,
Sebastian

  1. Nur mal auf Verdacht:
    Testest du dieses Teil offline?
    Also sprich lokal auf deinem Rechner? Dann werden Cookies nämlich nicht richtig gesetzt/gelesen, da solltest Du immer mit einem Webserver testen.

    Ansonsten:
    Versuch mal eine einfache Cookie-Abfrage:
    if (document.cookie) {alert ("Cookies sind aktiviert");}
    else {alert ("Cookies sind nicht aktiviert");}

    Die müsste auf jeden fall gehen.

    1. Hallo Jörg,

      Testest du dieses Teil offline?

      Nö! Online!

      Ansonsten:
      Versuch mal eine einfache Cookie-Abfrage:
      if (document.cookie) {alert ("Cookies sind aktiviert");}
      else {alert ("Cookies sind nicht aktiviert");}

      Vielen Dank, das ich wesentlich einfacher und funktioniert!

      Die müsste auf jeden fall gehen.

      Ist dieses Mini-Script verlässlich?
      Ich bin darauf angewiesen, dass es in allen IE-Versionen, im Netscape, Opera und auf dem Mac (in den gängigen Browsern) läuft!

      Gruß,
      Sebastian

      1. Hallo nochmal,

        ich habe für das Cookie-Script folgende Verwendung:

        // Abfrage nach aktivierten/deaktivierten Cookies
        function checkCookie(){
         if (document.cookie) {
         // Expander (Stylemenu) wird sichtbar gemacht
         document.getElementById("stylemenu").style.display = "block";

        }
         else {
          alert("Cookies sind deaktiviert!");
          }
        }

        Mein Stylemenu wird z.B. im Firefox 1.0 nur angezeigt, wenn ich die
        Zeile: document.getElementById(" ...
        aus dem Script auslagere!
        Der Mozilla hat mit der Cookie-Abfrage kein Problem!

        Hast du eine Ahnung woran das liegen könnte!

        Gruß,
        Sebastian

        1. Hallo,

          ich hatte bei der Folgeseite das onload(); vergessen!

          Meine Frage bezüglich der Browser-Kompatibilität ist trotzdem noch relevant!

          Gruß,
          Sebastian

        2. Hallo,
          Also, eigentlich sollte if (document.cookie) überall gehen.
          Ich programmier zumindest Cookie-Erkennungen immer so, und hatte bisher bei noch keinen Browsern
          (ich teste mit IE5, 6, Netscape 6.0, 6.1, 6.2, 7.1, Mozilla 1.7, Mac IE, Mac Safari) Probleme.

          1. Hallo Jörg,

            Also, eigentlich sollte if (document.cookie) überall gehen.
            Ich programmier zumindest Cookie-Erkennungen immer so, und hatte bisher bei noch keinen Browsern
            (ich teste mit IE5, 6, Netscape 6.0, 6.1, 6.2, 7.1, Mozilla 1.7, Mac IE, Mac Safari) Probleme.

            Das ist gut zu wissen!
            Vielen Dank!

            Gruß,
            Sebastian

  2. Hi,

    ich bin gerade dabei mir ein JavaScript zurechtzustückeln,
    dass im Browser abfragen soll, ob Cookies aktiviert sind.

    Du kannst allenfalls feststellen, ob Dein Cookie gesetzt ist.

    Aber ob Cookies allgemein akzeptiert werden, ist eine ganz andere Frage.
    Das kann sich ja von Cookie zu Cookie ändern, ob der User ihn zuläßt oder nicht.

    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.