JS und die Frames - Variablenübergabe an andere Datei
Marita Gorski
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
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
<../../tecba.htm>
sollte richtig sein !
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
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
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
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