1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Script-Problem beim Internet Explorer

Discussion in 'Web-Know-how für die Homepage' started by pcworld, Mar 30, 2008.

Thread Status:
Not open for further replies.
  1. pcworld

    pcworld Byte

    Hallo,

    ich habe mal wieder ein Problem mit diesem [...]-Internet-Explorer.

    Es geht um folgenden HTML-Code (eine Besucherbegrüßung):

    <script type="text/javascript">
    /* Mit diesem Script werden die Cookies der Seite ausgelesen. */
    function Cookies (querystring) {
    if (querystring == '') return;
    var wertestring = querystring.slice(0);
    var paare = wertestring.split("; ");
    var paar, name, wert;
    for (var i = 0; i < paare.length; i++) {
    paar = paare.split("=");
    name = paar[0];
    wert = paar[1];
    name = unescape(name).replace("", "");
    wert = unescape(wert).replace("", "");
    this[name] = wert;
    }
    }

    var cookie = new Cookies(document.cookie);

    /* Funktion: Cookies schreiben */
    function Schreiben(n,w,e)
    {
    var a = new Date();
    a = new Date(a.getTime() +e);
    document.cookie = n+'='+w+'; expires='+a.toGMTString()+';';

    }

    /* Funktion: Cookies löschen */
    function Loeschen(n)
    {
    document.cookie = n+'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
    }


    </script>

    <form name="UserNameForm" onsubmit="BesucherMerken();">
    <input value="Name zur Begrüßung" name="UserName" size="25"
    type="text">
    <input value="OK" type="submit"/>
    <input value="Begrüßung löschen" onclick="UserNameLöschen();"
    type="button">
    </form>

    <script language="JavaScript">
    if (cookie.UserName) {
    document.UserNameForm.UserName.value = cookie.UserName
    }

    <!--
    function BesucherMerken () {
    Schreiben('UserName',document.UserNameForm.UserName.value,
    1000*60*60*24*365*4);
    alert('Erfolgreich gespeichert.');
    var cookie = new Cookies(document.cookie);
    }

    var cookie = new Cookies(document.cookie);
    if (cookie.UserName) {
    alert ('Hallo ' + cookie.UserName + '!');
    }

    function UserNameLöschen () {
    Loeschen('UserName');
    alert('Erfolgreich gelöscht!');
    document.UserNameForm.UserName.value = "Dein Name zur Begrüßung";
    }


    -->
    </script>

    Jetzt ist es so, wenn man dort den Namen gespeichert hatte, und ihn
    dann über die Funktion UserNameLöschen(); wieder löscht, kommt beim
    nächsten Aufruf der Seite "Hallo undefined!", obwohl er das mit dem
    Hallo nur machen soll, wenn er abgecheckt hat, dass die Variable
    cookie.UserName auch wirklich existiert. So im Internet Explorer. Im
    Firefox läuft es problemlos.

    Weiß jemand, wie man da für den IE handeln muss, das er genauso
    handelt wie im Firefox (entweder einen Extra-Code für ihn oder einen
    für alle Browser)?
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Du prüfst nur die Existenz des Objektes und nicht darauf, ob das Objekt einen Wert enthält.
     
  3. pcworld

    pcworld Byte

    Wie prüfe ich, ob das Objekt einen Wert hat?
     
Thread Status:
Not open for further replies.

Share This Page