willie.de: Bildwechsel bei Netscape 4.x

hallo,

[1] kann mir jemand sagen, wieso mein bildwechsel (animiertes menü) mit NN4 nicht funktioniert bzw. ob und was ich falsch mache. ich habe ../selfhtml/javascript/beispiele/buttons.htm#quelltext ein klein wenig angepasst. und es ist zum verzweifeln: ich finde nicht heraus, wo eine ungenauigkeit (ein fehler kanns kaum sein, alle anderen browser - auch NN3, NN6 - zeigen alles schick) steckt. hab schon CSS usw. gelöscht.

unten folgt die minimalvarinate der datei. ich erhalte jedesmal die fehlermeldung:
"window.document.images[Bnr] has no properties."

[2] außerdem ist NN4 nicht ebreit, die schrift laut CSS anzuzeigen. (hängt vermutlich damit zusammen.)

danke für euer interesse!
willie

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
<!--
body { margin:0; padding:0; }
td,small,a { font-family:Tahoma,Helvetica,Arial,sans-serif; color:#C0D0DF; font-size:10px; }
a,a:link,a:visited,a:active,a:hover { border-style:none; font-size:18px; text-decoration:none; font-weight:bold; color:lime; }
a:hover { color:red; }
-->
</style>
<script language=javascript>
<!--
N0 = new Image(); N0.src = "pix/fotos_n.jpg";
H0 = new Image(); H0.src = "pix/fotos_h.jpg";
C0 = new Image(); C0.src = "pix/fotos_c.jpg";

function anim(Bnr,Bild) { window.document.images[Bnr].src = Bild.src; return true; }

function foto() { status="Bildergalerie"; return true; }
//-->
</script>
<base target="main">
</head>
<body text="white" bgcolor="black" link="lime" alink="red" vlink="white">
<div style="position:absolute; top:0; left:0;">

<table border="0" width="127" cellpadding="0" cellspacing="0" style="margin:0; padding:0;">
<tr><td colspan="2"><a href="foto.html" onMouseMove="foto()" onMouseOver="anim(0,H0)" onMouseOut="anim(0,N0)" hidefocus="true"><img src="pix/fotos_n.jpg" width="127" height="31" border="0" alt="fotos"></a></td></tr>
<tr><td width="4"><img src="pix/empty.gif" width="4" height="1" border="0"></td><td><small>© willie.de</small></td></tr>
</table>

</div>
</body>
</html>

  1. <script language=javascript>

    uuups! im original steht hier:

    <script type="text/javascript">

    alter fehler beim sonst absolut geliebten htmledit...

    willie

  2. [1] kann mir jemand sagen, wieso mein bildwechsel (animiertes menü) mit NN4 nicht funktioniert ...

    oke,

    hab den anfang ner lösung gefunden unter http://forum.de.selfhtml.org/archiv/2002/3/6380/#m35269
    das nächste mal suche ich gleich intensiver im archiv ;-)

    leider funxt es nich, weil ich die tabelle mit <div> absolut positioniert hab. sowie der <div> auftaucht, bekomm ich die alte fehlermeldung (NN4.03, NN4.78). hab auch schon <ilayer> versucht.

    und das andre problem bleibt:

    [2] außerdem ist NN4 nicht ebreit, die schrift laut CSS anzuzeigen. (hängt vermutlich damit zusammen.)

    DANKE!
    willie

    1. Bongú!

      hab den anfang ner lösung gefunden unter http://forum.de.selfhtml.org/archiv/2002/3/6380/#m35269
      das nächste mal suche ich gleich intensiver im archiv ;-)

      leider funxt es nich, weil ich die tabelle mit <div> absolut positioniert hab. sowie der <div> auftaucht, bekomm ich die alte fehlermeldung (NN4.03, NN4.78). hab auch schon <ilayer> versucht.

      Da hast du wohl etwas in den falschen Hals bekommen.

      Netscape 4 behandelt alles, was in einem positionierten DIV steht, wie ein eigenständiges "Unter-Dokument" im Dokument, also quasi genauso, als stünde es in einem <layer>.

      Daher müssen deine Bilder im NN4 anders angesprochen werden:

      statt:

      document.images[Bnr].src

      also:

      document.layers[0].document.images[Bnr].src

      layers[0] steht hier für das erste DIV in deinem Dokument. Der anschließende Teil entspricht wieder genau dem vorherigen für die anderen Browser.

      Jetzt musst du in dein Skript nur noch eine Browserweiche einbauen, so wie es Sven Rautenberg in obigem Link getan hat, damit jeder Browser nur die für ihn gültige Anweisung erhält.

      Diese unterschiedliche Ansprache begründet sich in den veralteten DHTML-Ansatz des NN4. Dieser wird in SELFHTML 8 unter DHTML sehr ausführlich beschrieben.

      und das andre problem bleibt:

      [2] außerdem ist NN4 nicht ebreit, die schrift laut CSS anzuzeigen. (hängt vermutlich damit zusammen.)

      Auf den ersten Blick sehe ich nicht, warum NN4 den Text nicht formatieren sollte. Melde dich nochmals, falls das Problem auch nach Behebung des JavaScript-Fehlers noch bestehen sollte.

      Sahha,

      kerki

      1. Da hast du wohl etwas in den falschen Hals bekommen.

        jawollja!

        Netscape 4 behandelt alles, was in einem positionierten DIV steht, wie ein eigenständiges "Unter-Dokument" im Dokument, also quasi genauso, als stünde es in einem <layer>.

        danke! jetzt funxts!

        Diese unterschiedliche Ansprache begründet sich in den veralteten DHTML-Ansatz des NN4. Dieser wird in SELFHTML 8 unter DHTML sehr ausführlich beschrieben.

        http://selfhtml.teamone.de/dhtml/modelle/netscape.htm#simulieren: "...hat Netscape in die Fähigkeit zum Dynamischen Positionieren auch auf die beiden 'abstrakten' HTML-Elemente <div>...</div> und <span>...</span> ausgedehnt." halte ich für nicht ganz so ausführlich beschrieben. als erklärter NN4.x-nichtmöger war ich nicht so tief in die materie eindrungen.

        Auf den ersten Blick sehe ich nicht, warum NN4 den Text nicht formatieren sollte. Melde dich nochmals, falls das Problem auch nach Behebung des JavaScript-Fehlers noch bestehen sollte.

        problem bleibt. falls du hier ne idee hast, überleg ichs mir nochmal mit NN4 ;-)

        danke!!! & mfg
        willie

        p.s.: was heißtn Sahha?

        1. Bongú!

          Auf den ersten Blick sehe ich nicht, warum NN4 den Text nicht formatieren sollte. Melde dich nochmals, falls das Problem auch nach Behebung des JavaScript-Fehlers noch bestehen sollte.

          problem bleibt. falls du hier ne idee hast, überleg ichs mir nochmal mit NN4 ;-)

          Meinetwegen brauchst du das nicht! ;-)

          Ich hab's leider auch nicht hinbekommen. Irgendwie ignoriert Netscape auch bei mir jegliche CSS-Formatierung innerhalb des DIV, selbst wenn sie direkt im umgebenden Tag per style="..." vorgenommen wird.

          Ich bin mit meinem Latein am Ende. Sollen sich doch wahre NN4.x-Verfechter damit herumärgern! >;-)

          Mein Vorschlag: Nimm das DIV raus. Soll die Seite im NN4 doch einen Rand haben!

          Tschüss, Auf Wiedersehen, Kraft, Stärke und Gesundheit! :-)

          kerki