Struppi: Mozilla document.writeln

Beitrag lesen

Im Body sind noch 2 Layer für MS bzw. NS angegeben:
<layer id="NetscapeMENU"></layer>
<div align="left" id="MicrosoftMENU"></div>

Allein das zeugt schon von ziemlicher unkenntniss der Macher. Es gibt nur ganz wenige Situationen, wo ein <layer> wirklich notwendig ist, da alle positionierten Elemente auch Layer sind.

Aber mein eigentliches Problem ist, dass im Mozilla das Menü jetzt aufgebaut wird.In der Statuszeile wird auch der Aufruf "javascript:openandclose(3) z.B. korrekt angezeigt. Er öffnet aber nicht den Baum. Lt. Javascript-Console würde er function openandclose nicht finden.

function openandclose(visi) {

if (document.getElementById ) {
    document.writeln(menucontent)
    document.close()

damit überschreibst du das komplette dokument inkl. JS.
NC >4 und MZ können auch inerHTML.

if (document.layers) {
  document.NetscapeMENU.document.write(menucontent)
  document.NetscapeMENU.document.close()

da fehlt noch ein open();

Der Ausschnitt zeigt schon, das das Skript arg veraltet ist, diese ganze Schriftattribute sollten mit CSS Klassen realisiert werden, dann sparst du die ganzen Abfragen um <Font> Tags zu öffnen und schliessen.
Das Font Tag soll sowieso nicht mehr verwendet werden.

Struppi.