Carsten Schrötter: Zwei Frames die zweite

Nachtrag zur Anfrage vom 13.11.

1. Das Zentrieren von Frames hatte ich mittlerweile herausbekommen, ich habe den gleichen Weg benutz wie von Thomas vorgeschlagen. Aber Trotzdem vielen dank.
Gehe ich recht in der Annahme das es keinen dem <center>-Tag ähnlichen Befehl gibt der ein Frameset zentriert, wäre irgendwie einfacher, aber so geht es ja auch.

2. Die Seite Zwei Frames Gleichzeitig aktualisieren war mir bekannt, ich habe sie auch jetzt umgesetzt, aber was ich eigentlich wissen wollte ist ein skript, daß !!!ohne!!!  Aktivität des Betrachters (OnLoad) eine Html-datei in ein beliebig auswählbares (taget=inhalt) Frame lädt.
Oder mit anderen Worten, das laden einer Html-Datei bewirkt durch den code in der geladenen Datei das Laden einer weiteren Datei in ein anderes Frame.

Davon verspreche ich mir einen Übersichtlicheren Code und kleinere Dateien.

Vielen Dank und ich finde dieses Forum echt genial

  1. Hallo!

    Ich kann dieser Frage nicht ganz folgen! ich verstehe Sie so, das Du mehrere Frames gleichzeitig ohne JavaScript ändern möchtest.

    1. Die Seite Zwei Frames Gleichzeitig aktualisieren war mir bekannt, ich habe sie auch jetzt umgesetzt, aber was ich eigentlich wissen wollte ist ein skript, daß !!!ohne!!!  Aktivität des Betrachters (OnLoad) eine Html-datei in ein beliebig auswählbares (taget=inhalt) Frame lädt.
      Oder mit anderen Worten, das laden einer Html-Datei bewirkt durch den code in der geladenen Datei das Laden einer weiteren Datei in ein anderes Frame.

    Wir nehmen jetzt mal 3 Frames, 1 horizontales und drunter 2 vertikale. Du möchtest jetzt die beiden 2 vertikalen gleichzeitig ändern. Da fällt mir nur ein, das Du ein kompletes neues Frameset aufbaust. In dem das horizontale angezeigt wird und die beiden neuen vertikalen.
    Du verwendest dann TARGET="_top" und killst damit das alte Frameset und läßt das neue Frameset aufbauen.

    André

  2. Hallo Carsten,

    Oder mit anderen Worten, das laden einer Html-Datei bewirkt durch den code in der geladenen Datei das Laden einer weiteren Datei in ein anderes Frame.

    Das sogenannte "Nachziehen". Dazu kannst Du etwa in einer Datei, nach deren Laden in einen anderen Frame noch eine weitere Datei geladen werden soll, notieren:

    <body onLoad="parent.frames[#].location.href='datei.htm'">

    Fuer # muss die Indexnummer des gewuenschten anderen Framefensters stehen.

    Diese Loesung hat nur den kleinen Nachteil, dass die Dateien zeitversetzt geladen werden (die im zweiten Frame kommt erst dran, nachdem die erste da ist).

    viele Gruesse
      Stefan Muenz

    1. Hallo Stefan,

      vielen Dank für die promte Antwort

      Das sogenannte "Nachziehen". Dazu kannst Du etwa in einer Datei, nach deren Laden in einen anderen Frame noch eine weitere Datei geladen werden soll, notieren:

      <body onLoad="parent.frames[#].location.href='datei.htm'">

      Fuer # muss die Indexnummer des gewuenschten anderen Framefensters stehen.

      Diese Loesung hat nur den kleinen Nachteil, dass die Dateien zeitversetzt geladen werden (die im zweiten Frame kommt erst dran, nachdem die erste da ist).

      Genauso hatte ich mir das gedacht, ich hatte auch schon vermutet, das die Dateien dann Zeitversetzt geladen werden.

      Das Zeitproblem läßt sich wohl nur umgehen, indem eine eigene html-datei den onLoad-Aufruf für 2 Html-Seiten enthält, aber ich schätze dann brauche ich wieder mehr Speicherplatz, außerdem bekomme ich daduch 30% mehr Dateien. Na ja, ich denke ich werde es mal austesten.

      Aber ich habe noch eine Frage, es ist zwar kein Problem die Nummer des Frames zu verwenden, aber könnte man nicht einfach den Namen des Targets verwenden ???

      Ich schäte ich muß noch ein wenig tiefer in JavaScript einsteigen und versuchen im geladenen Dokument eine Variable zu setzen, die im oberen Frame ausgelesen wird und statt der inaktiven die aktive Grafik zeigt.

      Hast du sowas evtl. schon mal geschrieben, oder eine Idee wo ich ein entsprechendes Beispiel finden kann ???

      Vielen Dank und viele Grüße

      Carsten Schrötter

      1. Hallo Carsten,

        Aber ich habe noch eine Frage, es ist zwar kein Problem die Nummer des Frames zu verwenden, aber könnte man nicht einfach den Namen des Targets verwenden ???

        Klar doch! Ich hab mir das mit den Nummern einfach nur so angewoehnt. Kommt noch aus Zeiten, als einzelne Browser mit Namensadressierung noch Schwierigkeiten hatten :-)

        Ich schäte ich muß noch ein wenig tiefer in JavaScript einsteigen und versuchen im geladenen Dokument eine Variable zu setzen, die im oberen Frame ausgelesen wird und statt der inaktiven die aktive Grafik zeigt.
        Hast du sowas evtl. schon mal geschrieben, oder eine Idee wo ich ein entsprechendes Beispiel finden kann ???

        Ich mache es eigentlich immer gerne so, dass ich Daten, die von einem anderen Frame aus ausgelesen werden sollen, in versteckten Formularfeldern (<input type=hidden>) speichere. Da kann man dann vom andern Frame aus bequem mit parent.Framename.document.Formularname.Feldname.value drauf zugreifen. Und innerhalb der Datei mit dem Feld kann ein Script mit document.Formularname.Feldname.value jederzeit den Wert des versteckten Formularfelds setzen bzw. veraendern.

        viele Gruesse
          Stefan Muenz

      2. Hallo,

        <body onLoad="parent.frames[#].location.href='datei.htm'">
        Diese Loesung hat nur den kleinen Nachteil, dass die Dateien zeitversetzt geladen werden (die im zweiten Frame kommt erst dran, nachdem die erste da ist).
        Genauso hatte ich mir das gedacht, ich hatte auch schon vermutet, das die Dateien dann Zeitversetzt geladen werden.

        Das Zeitproblem läßt sich wohl nur umgehen, indem eine eigene html-datei den onLoad-Aufruf für 2 Html-Seiten enthält, ...

        Ich haette da noch eine Idee anzubieten.
        Statt <BODY onload...> kann man den Aufruf auch direkt in den Code schreiben, ganz oben in die Datei. Dann wird die Verzoegerung kleiner.

        Christine

        PS:
        Stefan schrieb:

        Das sogenannte "Nachziehen" ...

        Jetzt ist es schon das "sogenannte Nachziehen". Das Wort habe ich mal irgendwann gepraegt, um den Vorgang moeglichst deutlich zu beschreiben. Ich sehe schon, ich gehe noch in die JS-Geschichte ein :-)))