Zerbe: location.Reload auf einem anderen Frame

Hallo!

Ich möchte beim Laden eines Frames einen anderen Frame aktualisieren.
Meine erste Idee war onload="parent.top.location.reload()" aber dann habe ich so eine nette Schleife :( *ach so top ist mein Frame*

Zerbe

  1. Versuche mal:

    parent.framename.location.reload()

  2. Hallo!

    Moin!

    Ich möchte beim Laden eines Frames einen anderen Frame aktualisieren.
    Meine erste Idee war onload="parent.top.location.reload()" aber dann habe ich so eine nette Schleife :( *ach so top ist mein Frame*

    Böse!!! "top" hat eine vordefinierte Funktion für "oberste Fensterebene", du mußt deinen Frame anders nennen!

    Javascriptmäßig sprichst du durch "parent" das übergeordnete Fenster an, und dann mit "top" das oberste Fenster - und das ist Blödsinn.

    - Sven Rautenberg

    1. Hallo!

      Meine erste Idee war onload="parent.top.location.reload()" aber dann habe ich so eine nette Schleife :( *ach so top ist mein Frame*

      Böse!!! "top" hat eine vordefinierte Funktion für "oberste Fensterebene", du mußt deinen Frame anders nennen!

      Habe 'top' in 'nav' unbenannt

      Javascriptmäßig sprichst du durch "parent" das übergeordnete Fenster an, und dann mit "top" das oberste Fenster - und das ist Blödsinn.

      Wie spreche ich denn dann den anderen Frame an ???
      evtl.: <body onload="nav.location.reload()"> *nav ist mein Frame*

      Ich bin JAVASCRIPT technisch eine 0,3

      Zerbe

      1. Hallo!

        Moin nochmal!

        Wie spreche ich denn dann den anderen Frame an ???
        evtl.: <body onload="nav.location.reload()"> *nav ist mein Frame*

        Ich erkläre es dir mal komplett:

        Frames bilden einen Baum in Javascript, genauso wie verschiedene Verzeichnisse auf Festplatte. "top" ist das Hauptverzeichnis, gleichbedeutend mit dem gesamten Browserfenster.

        top   <- da ist das erste Frameset drin
        |
        +----name1  <- da ist eine normale HTML-Datei drin
        |
        +----name2  <- da ist noch ein Frameset drin.
             |
             +----untername1
             |
             +----untername2

        Wenn du jetzt den Frame "untername2" ansprechen willst, geht das mit "top.name2.untername2"

        Wenn du dich im Frameset "untername1" befindest, geht das aber auch mit "parent.untername2".

        Wenn du dich im Frameset "name2" befindest, kannst du mit "untername2" auch direkt auf den Frame zugreifen.

        An alle Zugriffsarten kannst du beispielsweise ".location.href" dranhängen.

        Das ist ganz identisch mit Links:
        Variante 1 absolut: href="/verzeichnis2/unterverzeichnis2/datei.html"
        Variante 2 relativ: href="../unterverzeichnis2/datei.html"

        Konkret: wenn du den Frame "nav" ansprechen willst, mußt du entweder von "top" ausgehend den Weg zu diesem Frameset beschreiten (das kann so einfach sein wie "top.nav"), oder ausgehend vom Frameset, in dem du das Javascript aufrufst, mit parent losgehen ("parent.nav" kann funktionieren).

        Es hängt einfach davon ab, wie dein Frameset aufgebaut ist.

        - Sven Rautenberg

  3. Vielen Dank Sven!!

    Das hat mir unheimlich weitergeholfen.

    Zerbe