Christine Kuehnel: img-Austausch bei NS ?

Beitrag lesen

Hallo,

Im NC4.0x erhalte ich die Meldung, daß das Image keine Properties hätte.
vermutlich liegt das daran, daß der NC die Angabe "id=" nicht bewertet. Setze ein "name=head" dazu und es müßte funktionieren.

Nein.
Netscape kennt ID sehr wohl. Nur benutzen die beiden (um es uns nicht so leicht zu machen <g>) unterschiedliche Objektmodelle.

Wenn man sowas hat
   <DIV ID="wasweissich">
      <IMG NAME="ebeneinBild">
   </DIV>

Dann kriegt man im Explorer das Image-Objekt so zu fassen:
     document.images.ebeneinBild
  oder mit der "associative array" - Notation
     document.images['ebeneinBild']
Das funktioniert immer so, egal, wie tief da was verschachtelt ist.

Netscape erzeugt aber fuer jedes Layer-Objekt eine eigenes document
   (nicht verwirren lassen, durch DIV ID=... werden Layer-Objekte definiert)
Das bedeutet, an das Image-Objekt vom Beispiel oben kommt man hiermit:
    document.layers['wasweissich'].document.images['ebeneinBild']
  oder, nur anders geschrieben:
    document.layers.wasweissich.document.images.ebeneinBild
Da muss man aufpassen. Wenn es verschachtelt wird, dann ist das "oberste" Layerobjekt Eigenschaft von document (deutlicher: self.document), hat eigenes document.
Steckt da wieder ein Layerobjekt drin, dann ist das Eigenschaft von document des Layerobjektes der obersten Ebene.
Verwirrend?
Bsp.:
   <DIV ID="Ebene1">
      <DIV ID="Ebene2">
         <IMG NAME="ebeneinBild">
      </DIV>
   </DIV>
Zugriff auf "ebeneinBild":
   self.document.layers.Ebene1.document.layers.Ebene2.document.images.ebeneinBild

So, und damit die Verwirrung irgendwo auch mal eine Ende hat - in dem Script von Hartmut muesste es fuer Netscape heissen:
   document.layers.AbtM.document.images.head.src

Christine

PS: Ich hoffe, ich habe mich jetzt nirgendwo vertippt