Antje Hofmann: innerHTML

Beitrag lesen

Liebe Antje,
danke für den Denkanstoss. Mit
var Brows=navigator.appName;     var Gesamt ="<layer top=200  left=420 width=100 height=150 visibility=show>Sie sind online mit "+Brows+"<form><input type="Button" value="x" onClick="Weg()"></form></layer>";
     window.document.all.Infonat.style.visibility="visible";
  window.document.all.Infonat.innerHTML = Gesamt;
funktioniert die sache.
SELHHTML ist super!!!
Merci. von Judith

Hallo Judith,

leider hast du mich nicht verstanden. Dieses Script funktioniert nur im Internet Explorer. Der Netscape Navigator ignoriert es und gibt eine Fehlermeldung aus.

Ich möchte es dir erklären:
Den Befehl innerHTML kennt der NN nicht. Ihm ist auch das All-Objekt unbekannt (Das führt zur Fehlermeldung.). Deshalb wird das gesamte Script nicht ausgeführt und auch der Layer nicht geschrieben. Ein Netscapenutzer erfährt also nicht, das er mit dem Navigator unterwegs ist. :-)
Für den IE dagegen, ist die Angabe von ="<layer top=200  left=420 width=100 height=150 visibility=show></layer> völlig überflüssig. Er kennt layer nicht und ignoriert den Tag vollständig. Er positioniert also das Script nicht dahin wohin es gehört.

Das meinte ich, als ich schrieb, du brauchst völlig verschiedene Ansätze.

Ich habe dein Script einmal etwas umgebaut, damit du siehst, wie verschieden beide Browser angesprochen werden müssen.

<html>
<head>
<title>Beide Browser ansprechen</title>
<script language="JavaScript">
<!--
function inf() {
var Brows=navigator.appName;
var Gesamt ="Sie sind online mit "+Brows+"<form><input type="Button" value="x" onClick="Weg()"></form>";

if (document.layers)
         {                   /*Netscape Navigator*/
         document.Infonat.document.open();
         document.Infonat.document.write(Gesamt);
         document.Infonat.document.close();
         }
else    {document.all.Infonat.innerHTML = Gesamt;}  /*Internet Explorer*/

}
//-->
</script>

</head>
<body onLoad="inf()">
<div id="Infonat" style="position:absolute;top:120;left:130;"></div>

</body>
</html>

Viel Spaß beim Ausprobieren

Antje