Franz v. Gordon: Fehler mit onLoad und document.write bei Netscape

Beitrag lesen

Folgender Programmteil liefert bei mir mit dem NS 4.07 mit der "Javascript:"-Console
die Meldung "m is not defined." und der Browser arbeitet das Script nicht weiter ab.
Beim MS IE klappt es wie geplant.

In einigen Postings find ich auch diese Zusammenhänge, dass dann die Seite nicht funktioniert - vielleicht
eine Hilfe.

<html>
<head>
<title>Test</title>
</head>

<body onLoad="loop()">
<script TYPE="text/javascript" LANGUAGE="javascript1.2">
<!--

function loop()
{
  for (m = 0; m < 5; m++)
  {
    // alert(m);
    document.write(m + " ");
  }
}

//loop();

//-->
</script>

</body>
</html>

Nach vielen Tests (Dauer: ein Monat, Lösung erstmal mit newWindow() - da geht's)
habe ich den Fall jetzt genauer untersucht:
Das 'onLoad' und das 'document.write' vertragen sich nicht. Wenn ich die Ausgabe mit
'alert()' statt 'document.write' mache, ist es ok. Wenn beide Zeilen aktiv sind, sehe ich,
dass beim ersten Aufruf von 'document.write' die Fehlermeldung kommt.

Es nützt auch nichts, das Script in den <HEAD>-Teil zu verschieben - der Fehler bleibt.

Ohne das 'OnLoad="loop()"' hinter <body>, mit dem Aufruf kurz vor Ende des Scripts
(hier auskommentiert) klappt es gut.

Wollte dieses als Tip für andere hier anmerken, damit es ihnen nicht so geht wie mir
(wochenlange Fehlersuche), oder weiß jemand warum NS hier so reagiert und MS IE ganz normal?

Ich kenne C sehr gut, aber C++ noch nicht.

Gruß
Franz