Antje Hofmann: ? document.layers["a"].document.layers["b"].document.write

Beitrag lesen

Hallo Hans

Und in einem dieser Layer soll wieder was geschrieben
werden. NS bleibt bei diesem schreiben stecken.
? Hat wer eine Ahnung ?

Du kannst das document.write-Geschreibsel leicht umgehen. Dann sollte auch der NN zurechtkommen.

<script language="JavaScript">
document.write("<layer name="Cont" left=0 top=112 width=800 height=420 clip=0,0,800,420 visibility=show src="Intro.htm"></layer>\n");
</script>

ersetzen durch

<layer name="Cont" left=0 top=112 width=800 height=420 clip=0,0,800,420 visibility=show src="Intro.htm"></layer>

Nur der NN4.x kennt den Layertag. Alle anderen ignorieren ihn sowieso. Er wird also nicht angezeigt.

<script language="JavaScript">

function writeLayer(wohin,was)
{ if (ns) with(document.layers["Cont"].document.layers[wohin].document) {  open(); write(was); close();}
  else document.all[wohin].innerHTML= was;
}

versuche mal, die Funktion in den header der Datei zu packen, die den Layer lädt. Entsprechend anders muß dann der Layer angesprochen werden.

function start()
{
  strzw="<IMG SRC="gif/Gesch0P.gif" WIDTH="115" HEIGHT="19" BORDER="0"><IMG SRC="gif/GeschZw.gif" WIDTH="33" HEIGHT="19" BORDER="0">..."

writeLayer("MenUU",strzw);

</script>

hier fehlt ein Schließen der Funktion nach writeLayer(..);
vielleicht auch ein Tippfehler. Auf jeden Fall darfst du writeLayer() erst nach der Funktion start() aufrufen.

<body onLoad="start();">
<script language="JavaScript">
document.write("<layer name="MenuUU" left=6 top=0 width=117 height=298 clip=0,298,117,0 visibility=hide z-Index=1></layer>\n");
</script>

auch wieder einfach nur
<layer name="MenuUU" left=6 top=0 width=117 height=298 clip=0,298,117,0 visibility=hide z-Index=1></layer>

angeben.
Zumindest ersparst du dir 2 mal den Layer mit document.write zu schreiben.

Viele Grüße

Antje