Manfred Renner: document.write und Netscape 3

Um D-HTML-Seiten auch für ältere Browser noch lesb- und navigierbar zu machen, benutzen viele gerne die Möglichkeit des document.write() um ihren HTML-Code in das Dokument zu schreiben. Der Javascript-Quellcode, wird dabei allerdings unter bestimmten Bedingunen in den meisten Versionen von Netscape 3 angezeigt, und das, obwohl der Code in Kommentare gesetzt wurde. Das Problem tritt immer in Zusammenhang mit Tabellen auf.
Beispiel:

<script language="JavaScript">
<!-- //
function writeTable() {
  document.write('<table><tr><td>Testing</td></tr></table>');
}
// -->
</script>

<table>
<tr><td>
<script language="JavaScript">
<!-- //
  writeTable();
// -->
</script>
</td></tr>
</table>

Weiss jemand, um welches Problem es sich hierbei handelt, und wie umgangen werden kann, dass der Code in Netscape 3 auf dem Bildschirm erscheint?
Ich habe mit <FONT COLOR="#FFFFFF"></FONT> um das JavaScript herum experimentiert, und der Code ist auch nicht mehr sichtbar, allerdings behandelt Netscape das Script weiterhin so, als ob mindestens ein <BR> vorhanden waere, was ziemlich unguenstig ist fuer mein Layout...

  1. hallo manfred,

    hoffe, das hilft dir weiter:
    http://irb-www.informatik.uni-dortmund.de/~sm/aw/js/faq/browser/bugs.html

    gruss

    markus

  2. Hallo Manfred,

    nach meinen eigenen Erfahrungen hilft hier wirklich nur experimentieren.
    In den meisten Fällen genügt es - bei variablem <td> Zellen-Inhalt  - die
    jeweilige <table><tr>  Angaben dynamisch mit zu schreiben, auch wenn es
    (logisch gesehen) nicht erforderlich wäre.

    Bei geschachtelten Tabellen verschärft sich dieser Overhead u.U.
    In deinem angeführtem Beispiel müsstest Du wahrscheinlich auch den Anfang
    der äußeren Tabelle mit document.write erstellen.

    Viele Grüße  Günter

  3. Hi
    Die sicherste Methode Netscape3 auszugrenzen besteht darin noch eine Sicherheitsabfrage einzubauen:
    If (document.layers document.all) {writeTable();}
    Holger