JavaScript und HTML

Dieses Thema im Forum "Web-Know-how für die Homepage" wurde erstellt von strgaltentf, 25. September 2002.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. strgaltentf

    strgaltentf Byte

    Registriert seit:
    10. Juni 2002
    Beiträge:
    115
    Auch auf die Gefahr hin, dass dieses Problem schon x-Mal hier genannt und beantwortet wurde:

    Hallo,
    ich habe ein Problem mit JavaScript. Folgender HTML-Code soll dies verdeutlichen:

    <TT>
    &lt;html&gt;
    &lt;head&gt;
    &lt;title&gt;Test&lt;/title&gt;
    &lt;script language="JavaScript"&gt;
    &lt;!--
    function test()
    {
    var teststring="Hund"
    Variable.innerHTML=teststring
    }
    //--&gt;
    &lt;/script&gt;
    &lt;/head&gt;
    &lt;body onload="test()"&gt;
    &lt;h2&gt;Anzeige der Variable:&lt;/h2&gt;
    &lt;div id="Variable"&gt;Katze&lt;/div&gt;
    &lt;/body&gt;
    &lt;/html&gt;
    </TT>

    Der Inhalt der Variable "teststring" soll also im eigentlichen Dokument ausgegeben werden.

    Zeige ich die Seite mit dem Internet Explorer an, wird (wie ich es auch haben möchte), "Hund" angezeigt.
    Netscape und Opera ignorieren scheinbar das Script und zeigen nur "Katze" an.
    Wie kann ich erreichen, dass auch diese Browser das Script verarbeiten?

    Bin Dankbar für jeden Tipp

    Gruß
    strg alt entf
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.487
    Der NS4.x kennt weder getElementById noch document.all, stattdessen konnte man dort mit document.layer Inhalte manipulieren. Leider steck ich da jetzt nicht wirklich drin, da der NS4 sicher kein innerHTML kennt. Du müstet warscheinlich den kompletten Layer (&lt;div&gt;) neu schreiben. Unter vorbehalt:

    if (document.layer)
    {
    document.teststring.document.open();
    document.teststring.document.write(variable);
    document.teststring.document.close();
    } else
    if (document.all) document.all("teststring").innerHTML=variable;
    else
    if (document.getElementById) document.getElementById("teststring").innerHTML=variable;

    (ist die Browserweiche gleich drin ;) )

    Gruss, Matthias
     
  3. strgaltentf

    strgaltentf Byte

    Registriert seit:
    10. Juni 2002
    Beiträge:
    115
    Hallo Matthias,
    erst einmal vielen Dank für deine Antwort, die mich schon ein ganzes Stück weitergebracht hat!!!
    Der folgende Code mit "document.getElementById("Variable").innerHTML=..." und "document.all" funktioniert jetzt einwandfrei im IE6 und Netscape 6.2, nur im Opera 6.04 streikt er weiterhin
    Mit anderen Browsern habe ich noch nicht getestet.

    Leider habe ich nicht ganz verstanden, was das "NS4 document.layer" auf sich hat (bin noch Einsteiger im HTML/JavaScript-Breich)
    Hast du bzw. jemand anderes noch einen Tipp parat, wie die Seite auch unter Opera läuft bzw. andere Browser?

    <TT>
    &lt;html&gt;
    &lt;head&gt;
    &lt;title&gt;Test&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
    &lt;h2&gt;Anzeige der Variable:&lt;/h2&gt;
    &lt;div id="teststring"&gt;Falsch&lt;/div&gt;
    &lt;/body&gt;

    &lt;script language="JavaScript"&gt;
    &lt;!--

    var variable="Richtig"
    document.getElementById("teststring").innerHTML=variable
    document.all("teststring").innerHTML=variable

    //--&gt;
    &lt;/script&gt;
    &lt;/html&gt;
    </TT>

    Gruß,
    strg alt entf
     
  4. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.487
    Sortier mal um, da onload nicht zuverlässig "feuert" - außerdem würde ich document.getElementById("Variable").innerHTML=...
    versuchen (allerdings nur Opera5+, NS6+,Mozilla,IE5 - für den IE4 brauchst du document.all und den NS4 document.layer):

    &lt;html&gt;
    &lt;head&gt;
    &lt;title&gt;Test&lt;/title&gt;

    &lt;/head&gt;
    &lt;body&gt;
    &lt;h2&gt;Anzeige der Variable:&lt;/h2&gt;
    &lt;div id="Variable"&gt;Katze&lt;/div&gt;

    &lt;script language="JavaScript"&gt;
    &lt;!--

    var teststring="Hund"
    Variable.innerHTML=teststring

    //--&gt;
    &lt;/script&gt;
    &lt;/body&gt;
    &lt;/html&gt;

    Gruss, Matthias
    [Diese Nachricht wurde von kalweit am 25.09.2002 | 22:02 geändert.]
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen