Knuddelkind: PopUp-Fenster und location.href

Tacho!

Ist-Status: Ich hab ein Frameset und ein PopUp-Fenster. Im Frameset
wird der Inhalt angezeigt und die Navigation für das gesamte Projekt.
Im Popup-Fenster steht die Navigation für diesen Themenbereich (die
Idee hab ich mal geklaut bei Swatch).

Jetzt mein Problem: Wenn einer den Themenbereich ändert, muss in das
PopUp-Fenster die neue Navigation für den neuen Bereich geladen werden.

Das geht mit target="navi2" wunderbar. Aber wie sprech ich jetzt mein
Navi-PopUp in JavaScript an? Umgekehrt wäre es klar; da wäre es
opener. Aber so rum? Gibts ne Entsprechung zu opener (als "geöffnetes"
statt "öffnendes" ??)

Ach, ich sags lieber, eh gleich alle über mich herfallen: Es geht nicht
um ein Werbefenster!! Der Webspace und die Domain sind "ehrlich"
bezahlt und nicht gesponsort.

Wäre Euch dankbar, wenn ihr mir nen heissen Tipp geben könntet.

Danke & bye!
Knuddelkind

  1. hi Knuddelkind,

    wenn ich dich richtig verstehe willst du die navigation im popup ansprechen, wenn ja über den name den es bestimmt hat, weil window.open('url', 'name','eigenschaften')

    wenn nicht gib ihm ein namen.

    ciao stefan

    1. Rehi Stefan,

      wenn ich dich richtig verstehe willst du die navigation im popup
          ansprechen, wenn ja über den name den es bestimmt hat, weil
          window.open('url', 'name','eigenschaften')

      Das war mir klar. Ich weiss nur nicht WIE??

      Also: Ich hab 3 "Fenster", zwei im Frameset (navi und main) und das
      dritte im PopUp (navi2).

      Wenn ich sag "a href=datei target=navi2" geht alles klar; ich will
      jetzt aber sowohl den Inhalt in "main" und auch in "navi2" ändern,
      also einmal im Frameset und zugleich im PopUp.

      Wie ich den Frame ansprech, weiss ich (parent.frames[1].location...),
      aber wie sprech ich das PopUp an? parent.frames['navi2'].location...
      gehr nicht; wo ist mein Denkfehler??

      Und danke für die schnelle Antwort.

      Bye
      Knuddelkind

      1. Hi,

        Wie ich den Frame ansprech, weiss ich (parent.frames[1].location...),
        aber wie sprech ich das PopUp an? parent.frames['navi2'].location...
        gehr nicht; wo ist mein Denkfehler??

        Wenn "navi2" der Name des PopUp ist dann versuchs mal mit

        navi2.location.href = "was_auch_immer"

        Ich denke, das sollte klappen

        • Michael -
        1. Wie ich den Frame ansprech, weiss ich (parent.frames[1].location...),
          aber wie sprech ich das PopUp an? parent.frames['navi2'].location...
          gehr nicht; wo ist mein Denkfehler??

          Wenn "navi2" der Name des PopUp ist dann versuchs mal mit

          navi2.location.href = "was_auch_immer"

          Sorry, ist etwas mißvertändlich,

          das Fenster hast du ja sicherlich mittels

          fenster = open(....) geöffnet.
          ^^^^^^^^

          Um Inhalt darein zu bekommen, muß du das Handle (hier: fenster) ansprechen, also

          fenster.location.href = "..."

          • Michael -
          1. Hallo Michael,

            Wenn "navi2" der Name des PopUp ist dann versuchs mal mit

            navi2.location.href = "was_auch_immer"

            Sorry, ist etwas mißvertändlich,

            das Fenster hast du ja sicherlich mittels

            fenster = open(....) geöffnet.
            ^^^^^^^

            Um Inhalt darein zu bekommen, muß du das Handle (hier: fenster)
            ansprechen, also

            fenster.location.href = "..."

            Nee, nicht ganz, ich hab es - bis jetzt - ganz normal mit
            window.open("snav0.htm","navi2","formate") geöffnet.

            Ich denke auch, dass ich es leichter hätte, wenn ich jetzt einfach
            sag, das PopUp soll wieder ne Variable sein, aber irgendwie will
            ich es auch kapieren... ich mein, dafür hat das Fenster doch den
            Namen ("navi2") und mit "target" ist "navi2" ja auch das Ziel, nur
            bei JavaScript klappt es nicht, da muss ich um Ecken denken und das
            kapier ich nicht ganz.

            Gibts denn nix entsprechendes für "target" in Javascript?
            Kann man das verstehen? Ich frage mich eben, wieso ich einen Umweg
            gehen soll (oder: muss?), wenn ich auch "gerade" gehen könnte.

            Vielleicht hat ja doch einer ne Idee...
            ...und ganz lieben Dank für Deine Hilfe!!!

            Bye
            Knuddelkind

            • Michael -
  2. Hallo,

    ich wills mal so versuchen:

    1. Frameset                                            2. PopUp

    +--------------------------------+                     +------------+
    Thema1Thema 2Thema 3Thema 4   ) -> navi           Fenstername
    +--------------------------------+                     "navi2"    
                                      )                              
      Inhaltsfenster für              )                   Inhalt ist
      das ausgewählte Thema           ) -> main           Unternavi-
                                      )                   gation für
                                      )                   Themen 1-4
    +--------------------------------+                     +------------+

    So, und wenn jetzt einer auf "Thema 2" klickt, dann sollen sich
    ändern:

    1. Der Inhalt im Inhaltsfenster "main"
    2. Der Inhalt in dem Subnavigations-PopUp "navi2"

    Meine Idee war:

    <script language="javascript">

    function newTheme() {

    parent.frames[1].location.href = "neuesThema.htm";
        
        ??????? und hier kommt das Problem? Wie sprech ich mein
        PopUp-Fenster an?
    }
    </script>

    Die Startdatei sieht so aus:

    <script language="javascript">
    window.open("subn0.htm","navi2",...);
    </script>

    <frameset rows="85,*">
      <frame src="navimain.htm" name="navi">
      <frame src="start0.htm" name="main">
    </frameset>

    Ist es jetzt ein bisschen klarer geworden?
    Oder peil ich da was nicht ganz??

    Dank Euch für alles ;-)
    Bye Knuddelkind

    1. Hallo nochmal

      fangen wir mal mit den Start an:

      <script language="javascript">
      neuFenster = window.open("subn0.htm","navi2",...);

      ^^^^^^^^^^^^^^

      </script>

      einfach dem window.open ein Handle zuweisen

      function newTheme() {

      parent.frames[1].location.href = "neuesThema.htm";

      neuFenster.location.href = "irgendwas"
       
      Das ist alles. Mit dem Namen "navi2" kannst du hier nicht allzuviel anfangen, bau das Script mal wie oben
      beschrieben um, wenns dann immer noch nicht klappt melde dich noch mal.

      Viel Erfolg

      • Michael -
      1. Hallo Michael,

        danke, dass Du Dich so ins Zeug geworfen hast, leider klappt es
        nicht. Ich denke, dass es daran liegt, dass das popUp in der Datei
        mit dem Frameset aufgerufen werden kann.

        Ich würde nicht nerven, wenn ich nicht selbst alles versucht hätte -
        und irgendwie geht es mir jetzt fast schon um das Prinzip: Wenn ich
        vom PopUp auf das Elternfenster zugreifen kann (opener()), dann muss
        es doch auch umgekehrt möglich sein.

        IMHO irgendwas mit parent.(hier bezig auf das fenster).location.href

        Oder mach ich einen Denkfehler??

        Nochmals herzlichen Dank!!!

        Bye
        Knuddelkind

        1. Hallo Knuddelkind,

          und irgendwie geht es mir jetzt fast schon um das Prinzip: Wenn ich
          vom PopUp auf das Elternfenster zugreifen kann (opener()), dann muss
          es doch auch umgekehrt möglich sein.

          ist es :-)

          IMHO irgendwas mit parent.(hier bezig auf das fenster).location.href

          Dei Fenster muß ja von der Framesetdatei geöffnet werden, sonst ist die Variable beim Neuladen der Seite weg.

          Lösung: top.neuFenster.location.href="";

          Mit top sprichst du die oberste Ebene an.

          Viele Grüße
          Antje

          <img src="http://pc-anfaenger.de/pca/sam/pcanfaenger.gif" alt="">