ck: iframe aus anderem iframe heraus ansprechen?

hallo!

habe mir eine tabelle mit gesliceten pics gemacht und dort mit rollover-stuff ein menue eingebaut, das ein submenue in einem iframe aufruft. aus diesem submenue im iframe heraus möchte ich nun in einen weiteren iframe der tabelle der übergeordneten Seite (die den subnavigations-iframe eingebaut hat) die inhalte aufrufen. Wie kann ich das "Mutterdokument" aus dem iframe heraus ansprechen?

Sieht (grob) etwa so aus:

tabelle.html
rollover-menue-> iframe "submenue"

iframe "main"

Die "Verbindung" vom Submenue -> Main funzt nicht.

Vielen Dank schonmal an denjenigen, der sich die Mühe macht zu antworten.

Greetz,
CK

  1. hi,

    habe mir eine tabelle mit gesliceten pics gemacht und dort mit rollover-stuff ein menue eingebaut, das ein submenue in einem iframe aufruft. aus diesem submenue im iframe heraus möchte ich nun in einen weiteren iframe der tabelle der übergeordneten Seite (die den subnavigations-iframe eingebaut hat) die inhalte aufrufen

    uiiii ... klingt mächtig kompliziert ;-)

    Wie kann ich das "Mutterdokument" aus dem iframe heraus ansprechen?

    vielleicht mit "parent.frames.framename" ?
    aber Genaueres läßt sich erst sagen, wenn du deinen Quellcode herschreibst oder (besser) eine URL angibst, wo man sich das mal anschauen kann

    Christoph S.

    1. In gekürzter Fassung ...

      <!-- SUB-NAV -->
                      <td><iframe name="subnav" src="subnav/subnav_off.html" width="430" height="15" frameborder="0" style="border-width:0px;" border="0"  scrolling="no"></iframe></td>

      <!-- MAIN -->
                   <td width="632" height="376" colspan="16">
      <iframe name="main" src="main_off.html" width="632" height="376" frameborder="0" style="border-width:0px;" border="0" resize="no" scrolling="no"></iframe></td>
      ...

      von SUB-NAV aus soll nun MAIN angesprochen werden.
      weißt du weiter?

      1. hi,

        In gekürzter Fassung ...

        [...]

        weißt du weiter?

        möglicherweise. Was du jetzt beschrieben hast, ist lediglich die Art, wie deine Tabellenzellen aussehen, in denen die iFrames liegen  -  übrigens: warum brauchst du dafür ne Tabelle?

        iFrames sind eben auch nix andres als Frames und werden (mit Javascript) genauso angesprochen wie andere Frames, wenn man deren "target" vorgeben möchte. Das ist dann, wie bereits angegeben, die Notierung "parent.frames.framename..." oder auch "top.frames.framename ..."

        um das genauer auseinanderzuklamüsern, helfen deine Angaben nicht weiter. Man müßte sehen, wie du versucht hast, deine Menü-Links zu gestalten

        Grüße aus Berlin

        Christoph S.

        1. ist leider zuviel, um es hier zu posten!

          geht das rück-referenzieren auch in html, oder nur mit javascript?
          hier mal ein verweis aus dem iframe, bei dem ich versuche auf main zurückzugreifen. kann ich irgendwie sowas wie target="_parent/main" machen, oder so? meintest du das vorhin?

          <a href="/content/downloads/audio.html" target="main"
           onmouseover="changeImages('audio', '../images/subnav-downloads-audio_over.gif'); return true;"
           onmouseout="changeImages('audio', '../images/subnav-downloads-audio.gif'); return true;"
           onmousedown="changeImages('audio', '../images/subnav-downloads-audio_down.gif'); return true;"
           onmouseup="changeImages('audio', '../images/subnav-downloads-audio_over.gif'); return true;"
           onclick="changeImages('audio', '../images/subnav-downloads-audio_click.gif');"
           onFocus="if(document.all) this.blur()">
           <img name="audio" src="../images/subnav-downloads-audio.gif" width="43" height="15" border="0"></a>

          1. hi,

            geht das rück-referenzieren auch in html, oder nur mit javascript?

            im strengen Sinn "geht" das natürlich nicht mit HTML. Man braucht irgendeine der "Zusatz-Sprachen", und das muß auch nicht unbedingt Javascript sein.

            hier mal ein verweis aus dem iframe, bei dem ich versuche auf main zurückzugreifen. kann ich irgendwie sowas wie target="_parent/main" machen, oder so?

            Nein, das wird nicht funktionieren. Aber du hast ja fast alle möglichen EventHandler eingebaut, du benutzt also bereits (in einem gewissen Sinn) Javascript. Und bei den EventHandlern kannst du prinzipiell ungefähr so etwas angeben:
            onmouseover="parent.frames.framename.changeImages('audio', '../images/subnav-downloads-audio_over.gif'); return true;"

            Christoph S.

            1. Das bringt mich sachon etwas näher ran. Ist aber noch nicht möglich. Die Bilder-Swaps sind auch nicht das Problem, die funktionieren einwandfrei. Aber ob Du's glaubst oder nicht ... es geht mir um den href-Befehl. Das target ist mein Problem. Damit muss ich irgendwie wieder den iframe "main" im dokument "index.html" ansprechen.

              <a href="/content/downloads/audio.html" target="main">...

              ich merke aber schon ... Du wirst mir sicher nach spätestens 2 weiteren fragen 'ne lösung vorlegen. ;-) (bin irgendwie nicht so gut im erklären meines pronblems)

              aber danke schonmal für die mühen.

              1. na dann:

                Das bringt mich sachon etwas näher ran. [...] Aber [...] Das target ist mein Problem

                klar. Laß es einfach ganz weg  -  bitte ernstnehmen, ist kein Scherz. Dafür schreibst du aber anstelle des <a href...> einen weiteren EventHandler rein in (schematisch) dieser Form:
                onclick="parent.frames.framename.location.href='dokument.htm'"
                Und wenn dein link ganz ohne <a href> nicht funktionieren will, schreibst du eben:
                <a href="" EventHandler1 EventHandler2 EventHandler3 ...>link</a>

                Christoph S.

                1. Mist! geht auch nicht. finde im ganzen netz nichts, was ich verstehe zu dem thema. alles zu kompliziert. :-(

                  1. hab grad das hier gefunden ...

                    <A HREF="javascript:void(0)" onClick="parent.frame_3.document.location.href = 'contenu_0.htm'; parent.frame_2.document.location.href = 'menu_0.htm'">
                    Subject 0
                    </A>

                    wenn's so auch nicht klappt, überleg ich mir was anderes. aber danke nochmal.

                    CK

                    1. hi,

                      <A HREF="javascript:void(0)" onClick="parent.frame_3.document.location.href = 'contenu_0.htm'; parent.frame_2.document.location.href = 'menu_0.htm'">
                      Subject 0
                      </A>

                      das ist im Prinzip dasselbe, was ich dir eben geschrieben habe. Allerdings ist es eine sehr ungeschikcte Lösung, denn wenn schon eine Funktion "void()" existiert, dann kann man (und sollte man) in diese Funktion alles das reinpacken, was in diesem Beispiel auch noch zusätzlich vom EventHandler ereldigt werden soll.

                      Christoph S.

                  2. Hi ck *g*,

                    finde im ganzen netz nichts, was ich verstehe zu dem thema. alles zu kompliziert. :-(

                    hast du dir denn

                    http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/

                    schon durchgelesen?

                    LG Roland

  2. Hallo,

    Greetz,
    CK

    Eh! Das ist mein Nick! ;)

    Gruesse,
     CK

    1. Hallo, Christian,

      Greetz,
      CK

      Eh! Das ist mein Nick! ;)

      gesliceten pics [...] rollover-stuff [...] subnavigations-iframe [...] funzt nicht [...] Greetz

      Ich denke nicht, dass die Verwechslungsgefahr sehr groß ist... *g*

      SCNR,
      Mathias

      1. Hallo molily,

        Ich denke nicht, dass die Verwechslungsgefahr sehr groß
        ist... *g*

        Hm -- wie soll ich denn jetzt das verstehen? *g*

        Gruesse,
         CK