Marita Gorski: JS und die Frames - Variablenübergabe an andere Datei

Hallo,
ich habe ein Frame mit 2 Dateien, links= Navigation mit JavaScript, rechts Textteil. Links im Frame wird mit einem Button immer angezeigt in welchem Übergebiet sich die Besucher gerade befinden. Wenn ich aber Querlinks aus dem rechten Text machen will, kommt der Button im linken Teil nicht mit. Wie kann ich dem Links sagen, das er nicht nur eine neue Datei aufmachen soll, sondern auch in der anderen Datei den Button wechseln soll???
Geht das???
Ich würde mich über Tips freuen.
Tschüss
Marita

  1. Hallo,
    ich habe ein Frame mit 2 Dateien, links= Navigation mit JavaScript, rechts Textteil. Links im Frame wird mit einem Button immer angezeigt in welchem Übergebiet sich die Besucher gerade befinden. Wenn ich aber Querlinks aus dem rechten Text machen will, kommt der Button im linken Teil nicht mit. Wie kann ich dem Links sagen, das er nicht nur eine neue Datei aufmachen soll, sondern auch in der anderen Datei den Button wechseln soll???
    Geht das???
    Ich würde mich über Tips freuen.
    Tschüss
    Marita

    Schau mal in <../../tecba.htm>. Du kannst auf diesem Weg dann die Objekte (zb. Images) in Deinem Index-Frame beeinflussen.

    Michael

    1. <../../tecba.htm>

      sollte richtig sein !

  2. Hallo Marita,

    Du hast ja wahrscheinlich erstmal ein
    FRAMESET definiert in dem Deine beiden
    Frames 'Links' und 'Text' definiert sind.
    Die Frames haben vermutlich auch Namen.
    So eine Framedefinition darf zwar keine
    weiteren HTML-Tags (außer in NOFRAMES) ent-
    halten, aber im HEAD darfst Du sehr wohl
    Javascript-Variablen und -Funktionen
    definieren.

    Wenn Du nun in einem Text ein Link hast,
    dann kannst Du aus dem onClick-Ereignis
    heraus auch eine Funktion im übergeordneten
    Frame aufrufen, einschliesslich Parameter-
    übergabe.
    Hiermit hast Du dann prinzipiell die Möglich-
    keit Diene beiden Frames 'zentral' aufzufrischen.

    Wie man das in JS dann ausdrückt, findest Du
    hier im Forum zuhauf und auch in SelfHTML.
    Schau mal nach Fragen wie:
    'Zwei Frames gleichzeitig ändern' oder so
    oder in
    ../../tecba.htm oder dgl.

    Klaus

    1. Hallo Marita,

      Variablenübergabe an andere Datei

      dieser Begriff oder Ausdruck könnte Dir ein
      'Denkbein' stellen.

      Du hast Deine HTML-Teile natürlich in Dateien
      organisiert und benutzt die Dateinamen auch
      um zu referenzieren, aber der Browser 'denkt'
      mit Objekten wie Fenstern und Dokumenten u. dgl.
      Er tut das sogar sehr streng hierarchisch.
      So sind Deine 'Links'- und 'Text'-Objekte Teile
      die vom übergeordneten 'Frameobjekt'abgeleitet
      sind.

      Dein 'Text'-Objekt kann einer anderen Datei nichts
      mitteilen, sondern nur dem Objekt von dem es
      abstammt. 'Information hiding' verbietet es sogar.

      Wenn Du Dein 'Textobjekt' überlädst, indem Du da
      etwas anderes hinschreibst/leitest, sind alle
      Informationen weg, das ursprüngliche Objekt ist
      gelöscht und ein anderes an seine Stelle gesetzt.
      Genausowenig kannst Du von Deinem 'Textobjekt' aus
      eine Information an Dein 'Linksobjekt' schicken.
      Solange Dein übergeordnetes 'Frameobjekt' aber
      besteht, kannst Du darin definierte Funktionen
      aufrufen und Dich auf darin definierte Variablen
      beziehen.

      Klaus

      1. Hallo,

        Variablenübergabe an andere Datei
        dieser Begriff oder Ausdruck könnte Dir ein
        'Denkbein' stellen.

        "Denkbein" - schones Wort, habe ich noch nie gehoert, passt aber prima. :-)

        Genausowenig kannst Du von Deinem 'Textobjekt' aus
        eine Information an Dein 'Linksobjekt' schicken.
        Solange Dein übergeordnetes 'Frameobjekt' aber
        besteht, kannst Du darin definierte Funktionen
        aufrufen und Dich auf darin definierte Variablen
        beziehen.

        Kleiner Zusatz:
        Nicht nur Funktionen im uebergeordneten window-Objekt (Frames werden uebrigens auch durch window-Objekte repraesentiert) sind ein Weg, eine Kommunikation zwischen Frames aufzubauen.
        Man kann auch auf Objekte in anderen Frames zugreifen, solange da ein uebergeordnetes window-Objekt existiert, was fuer beide gilt, egal wie tief da nun was verschachtelt ist, Hauptsache, man findet oben was Gemeinsames.
        Dann kann man naemlich darueber referenzieren.

        Einfachstes Beispiel:
        Frameset mit zwei Frames, keinerlei weitere Verschachtelung.
        Dann ist bnaemlich fuer beide self.parent das uebergeordnete Fenster.
        Enthaelt nun ein Frame z.B. ein Image-Objekt - <IMG SRC="..." NAME="bildchen">,
        dann kommt man vom anderen aus mit parent.document.bildchen da dran.

        So, ich will hier keine Referate halten. Der Hinweis hier im Thread auf das entsprechende Kapitel in SelfHTML sollte recht hilfreich sein, und ausserdem, wer denn nun noch was dazu lesen will: Ich habe dazu viel ausfuehrlicher in der FAQ von d.c.l.js geschrieben
        http://www.informatik.uni-dortmund.de/~sm/aw/js/de.comp.lang.javascript/

        Christine

        1. Sorry, zu schnell getippt.

          dann kommt man vom anderen aus mit parent.document.bildchen da dran.

          Muss natuerlich
          parent.FrameName.document.bildchen heissen, wobei FrameName der im Frameset festgelegte Name des Frames ist.

          Christine