Membran: No properties: Meldung in Netscape

Hallo..
bevor ich diese Frage stellte, hab ich WIRKLICH gesucht.. nur mal so neben bei..

Also: Bei einem Mouseover soll ein Bild in einem anderen Frame
ausgetauscht werden. NN haut aber die Meldung raus:

parent.frames[1].document.images[0] has no properties.

Tja, und ich hab schon ne Menge ausprobiert. Das Bild im besagten Frame hat auch nen Name, und damit gings auch nicht.

Im Oberen Frame, aus dem der mouseover kommt,
hab ich mit

<script language="javascript">
<!--//
test = new Image();
test.src="test.gif";
//-->
</script>

ein neues Grafikobjekt erschaffen.
Dann folgt irgendwann der Aufruf:

onmouseover="parent.frames[1].document.images[0].src= test.src"

im IE funzt es, aber eben im NN nicht.

In anderen Foren konnte man mir auch nicht helfen.

Also Danke im Vorraus, und  bitte keine Hasspostings, da bekomme ich Angst.

Membran

  1. Hi Membran...

    Dieses "...has no properties" weisst daraufhin, dass er ein Problem mit dem Objekt hat.
    Hatte das Problem auch schon mal und wusste nicht, woran es hing...
    Im Endeffekt hat er sich an einer Stylesheetangabe innerhalb eines Tags aufgehaengt.

    Hast Du in Deiner HTML-Datei, in der die Bilder vorkommen, CSS-Angaben benutzt, z.B. innerhalb des <img>-Tags?????

    Wie schon erwaehnt, scheitert Netscape manchmal an CSS-Angaben, obwohl sie eigentlich funktionieren muessten!

    Gruss,
    Nagash

    1. Hast Du in Deiner HTML-Datei, in der die Bilder vorkommen, CSS- > Angaben benutzt, z.B. innerhalb des <img>-Tags?????

      Hallo!

      Jaa, das isses!!
      das Bild ist mit einem DIV-Tag umgeben.
      Wenn man es weglässt, klappt es...

      Das DIV ist aber zwingend notwendig, da das Bild so etwas wie
      ein Untermenü sein soll, das über dem eigentlichen Content
      des Frames liegen muss. Zudem soll es ja immer unter dem jeweiligen
      Link auftauchen...

      Ich probier mal, ob ich es hinkriege.
      Wenn einer noch ne Lösung hat, her damit!

      Danke!

      Membran

      1. Hi,

        na, dann isses doch wieder mal dieser Klassiker:

        <../../sfausles/tsfa_tbb.htm>

        Grüße,

        Utz

      2. Wenn das Bild in deinm Div ist, dann ist die Hierarchie, mit der Du es ansprechen kannst anders, als im Explorer....

        Fuer Ntescape sollte es meines Wissens etwa so aussehen:

        parent.frames[1].document.divname.document.images[0].src= test.src

        Verbessere mich jemand, wenn es falsch ist, aber versuch es mal so...

        Gruss,
        Nagash

      3. Hi Membran,

        parent.frames[1].document[Divname].document.images[0].

        Im Hinterkopf bewahren (bei mehreren DIVs): NN beginnt die Bildnumerierung in jedem DIV bei 0.

        Grüße,
        Martin

  2. Tja, Danke Jungs.
    Jetzt klappts im Netscape, aber im Explorer nicht mehr.
    Egal, dann mache ich eine Funktion, die den Browser unterscheidet.
    Danke nochmal,

    Membran

    1. Hi..
      Natuerlich klappts nicht mit demselben Quellcode in beiden Browsern, da beide ein unterschiedliches DOM haben.

      Entweder machst Du die Funktion vom Browser abhaengig, oder Du versuchst es mal mit Pointer-Variablen....

      Weiterhin viel Glueck!

      Gruss,
      Nagash

      1. Hi Nagash,

        ....versuchst es mal mit Pointer-Variablen....

        in JavaScript??

        Grüße,
        Martin

        1. Hi Martin....
          *grübel*

          ja, eigentlich schon....vielleicht heißen die ein wenig anders, aber ich meinte, daß er abhängig von einer Browserabfrage Variablen erzeugen soll, in die er die richtige Hierarchie einträgt, und die er in seinen Funktionen benutzt, ohne sich über den Browser Gedanken machen zu müssen.
          Wieso, was meintes Du denn??????

          Gruß,
          Nagash

          1. Hi Nagash,

            Wieso, was meintes Du denn??????

            Beispiel: var pic =  (NN) ? eval("document." + divname + ".document.Pic" + i):eval("document.Pic" + i);

            wenn Du so etwas meintest, dann meinten wir dasselbe ;-))

            Ich war/bin mir nur nicht ganz schlüssig, ob das im engeren/klassischen Sinne ein Pointer ist - was wiederum daran liegt, dass ich von Programmieren keine Ahnung habe.

            Grüße,
            Martin

            1. Hi Martin

              Beispiel: var pic =  (NN) ? eval("document." + divname + ".document.Pic" + i):eval("document.Pic" + i);
              Ich war/bin mir nur nicht ganz schlüssig, ob das im engeren/klassischen Sinne ein Pointer ist - was wiederum daran liegt, dass ich von Programmieren keine Ahnung habe.

              Darueber mach Dir mal keinen Kopf, zumindest "endgueltig" bis geklaert ist, ob Javascript ueberhaupt eine Programmiersprache ist. <g>

              Hierzu einer der wohl interessantesten Threads in der Forumshistory.
              <../../sfarchiv/1999_2/t03805.htm#a18321>

              Viel Spass beim Lesen
              Wilhelm

  3. Jo guys..
    Erstmal danke für eure Hilfe.
    Ich hab die Funktion jetzt fertig, und es funzt wunderbar..
    Thanx to u,

    Membran