Thomas: Anderes Frameset mit Javascript ansprechen (?)

Hallo !

Ich habe ein Problem mit einem SELFHTML-Source zum Thema "Javascript-Beispiele". Genauer gesagt, zu dem Skript, daß ein Ausklappmenü erzeugt und danach zu einer bestimmten URL springen soll.

Ich habe auf meiner Seite ein primäres Frameset (ich nenne es mal "A"), daß das Browserfenster in zwei horizontale Frames aufteilt (den Hauptframe oben, den Frame mit besagtem Ausklappmenü unten). Der obere Frame wird dann durch ein weiteres, also sekundäres Frameset ("B") vertikal unterteilt. Soweit ist ja noch alles klar ?!

Das oben beschriebene (vereinfachte) Ausklappmenü aus SELFHTML befindet sich jetzt im unteren Frame von "A" und soll von dort Seiten aufrufen, die sich im rechten vertikalen Frame von "B" befinden. Mein Problem ist jetzt nur, daß ich in diesem Skript lediglich angeben kann, ob die Seite im oberen oder unteren Frame von "A" angezeigt werden soll - nicht jedoch im rechten Frame von "B", der sich im oberen Frame von "A" befindet.

Hier meine (aktuelle) Version des Javascriptes:

Wenn ich die Angabe "parent.frames[1]..." auf "parent.frames[0]..." setze, erscheint zwar die gewünschte Seite im oberen Frame von "A" - was mir leider nicht weiterhilft, weil dadurch ja mein Frameset "B" zerstört wird...

<script language="JavaScript">
<!--
function Go(x)
{
  parent.frames[1].location.href = x;
  document.forms[0].reset();
  document.forms[0].elements[0].blur();
}
//-->
</script>

Ich hoffe, mein Problem ist einigermaßen klar rübergekommen ?!

Vielen Dank !!!
Thomas

  1. Hallo Thomas!

    Wenn Du bei der Frame-Definition dem Frame einen Namen zuweist, kannst Du frames[x] durch den Namen ersetzen und den Frame gezielt ansprechen.
    Angenommen, der Frame heisst "RechtsVertikal", dann schreibst Du statt

    parent.frames[1].location.href = x;

    einfach

    parent.RechtsVertikal.location.href = x;

    So sollte es gehen...

    Viele Gruesse, Achim

    1. Hallo !

      Danke erstmal, aber ich bin eigentlich genauso schlau wie vorher, denn das Ganze funktioniert nicht ! Wenn ich "parent.frames[x].location.href = x" durch die Angabe
      "parent.RechtsOben.location.href = x" ("RechtsOben" ist der Name des Frames, der angesprochen werden soll) ersetze verhält sich das Ganze wie vorher - nichts tut sich (ja, die Namen der Frames stimmen schon). Wenn ich aber parent.Oben.location.href angebe ("Oben" ist der obere Frame in dem sich das zweite Frameset befindet) passiert wieder genau das Gleiche wie vorher - also die Seiten werden komplett im oberen Frame dargestellt und nicht "RechtsOben".

      Vielleicht könnte man die Angabe "parent.RechtsOben.location.href = x" noch irgendwie modifizieren, denn ich denke, der Weg ist schon der richtige.

      Na dann - ich hoffe einfach mal weiter...

      Thomas

      1. Hallo Thomas!

        Danke erstmal, aber ich bin eigentlich genauso schlau wie vorher, denn das Ganze funktioniert nicht !

        Komisch, sollte eigentlich gehen. Ich habe ein Frameset erstellt, wie Du es beschreibst, und es geht problemlos, dass nur der rechte obere Frame geändert wird.

        Könnte es an der Namensvergabe liegen? Es wird Gross- und Kleinschreibung berücksichtigt.
        Oder hat es mit der Definition der Framesets zu tun?

        Falls es eine Hilfe ist, kann ich Dir die paar Dateien, die ich gebastelt habe, privat mailen...

        Na dann - ich hoffe einfach mal weiter...

        Das ist immer gut ;-)

        Viele Grüsse, Achim