Mittels Link 2 Framesets ändern?

karmababy

Mitglied
Hi,

da ich noch absoluter Beginner in javascript bin, hätte ich mal eine Frage dazu und ich hoffe, das mir einer von euch dabei helfen kann.

Also, wie kann ich mit js in einem Frameset mit einem Link zwei Frames gleichzeitig ändern?
Wär super wenn mir jemand das jemand erklären könnte.

mfg
karmababy
 
HTML:
<a href="#" onclick="
   	top.frame1.location.href='http://www.google.com';
   	top.frame2.location.href='http://www.t-online.de';
 	return false;
   ">Link</a>
 
Zuletzt bearbeitet:
Super, danke für die schnelle Antwort.
Würde es dir was ausmachen wenn du die Zeilen mir noch ein wenig erklären könntest.
Also das Prinzip was dahinter steck.Ich will die Zeilen ja nicht nur rauskopieren, sondern auch verstehen was da genau passiert.

mfg
jazzhunt
 
Also erstmal zur Theorie: Für jeden Frame mit einem Namen wird von javascript ein gleichnamiges Objekt erstellt, mit dem man diesen Frame dann ansprechen kann. Es gibt allerdings zwei festgelegte Frame-Objekte: top und parent.
top
ist wie der Name schon impliziert das Objekt für den allerobersten Frame, d.h. für den Frame in dem alle anderen drin sind.
parent ist das Objekt für den im jeweiligen vom Frame-Dokument aus gesehen nächstoberen Frame - den nächstübergeordneten Elternframe eines Kindframes.

Mal angenommen wir haben vier Frames: In frame1 ist frame11 und in frame11 sind wiederum zwei Frames, frame111 und frame112. Wenn du jetzt vom Dokument in frame112 aus etwas in frame11 ansprechen wolltest könntest du das auf zwei Arten machen. Mit top.frame1.frame11 (frame1 ist ja im allerobersten Frame und frame11 ist in frame1) oder einfach nur mit parent, weil frame11 ja der nächstübergeortnete Frame von frame112 ist.

Frames können natürlich auch wusldusl heißen o.ä. heißen, dann sprichst du sie halt mit top.wusldusl an.

Hoffe das war soweit halbwegs verständlich (wahrscheinlich erst bei zweiten Lesen).

Wenn du jetzt also ein anderes Dokument in einen Frame laden willst musst du ihn wie gehabt ansprechen und dann das Attribut ändern, indem URL zum Dokument des Frames steht. Das heißt nunmal href und ist teil des location-Objektes, daher das location.href. und das Istgleich ( = ) mit der URL. Ich hab einfach mal angenommen, dass deine beiden Frames auf gleicher Ebene liegen und nicht noch in anderen Frames.

Diese Anweisungen stehen in onclick des Links, damit sie ausgeführt werden, wenn man auf diesen Link klickt. Damit aber der href des Links auch noch aufgerufen wird steht noch ein return false am Ende, alles durch Semikola ( ; ) ketrennt.

Mehr zum Thema Frames gibt's bei SELFHTML.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück