molily: Javascript-Befehl an ein Frame schicken

Beitrag lesen

Hallo, Adem,

Wenn ich nun ein Menu in Frame 2 habe und nun auf einen Link klicke, soll er den Frame 1 aktualisieren - also den Link in Frame 1 öffnen. So viel so gut! Nun soll er aber Frame 2 aktualisieren und dabei einen Javaskript Befehl ausführen. Es reicht auch wenn er nur den Befehl in Frame2 ausführt. Das ist ein wenig Tricky. Gebe ich zu aber es sollte doch funktionieren`?

Was meinst du für einen Befehl? Über einen gewöhnlichen Link mit einem target-Attribut, welches den Namen des Zielframes enthält, kannst du auch ohne JavaScript das Linkziel in einem anderen Frame öffnen lassen (http://selfhtml.teamone.de/html/frames/verweise.htm#zu_anderen_frames). Beispielsweise über den Event-Handler onclick bzw. das zugehörige Attribut (http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onclick) kannst du zusätzlich JavaScript-Code einfügen, welcher beim Klicken auf den Link zusätzlich ausgeführt wird (vorausgesetzt, JavaScript steht beim Benutzer zur Verfügung bzw. ist aktiviert). Ein Beispiel:

<a href="neueseite.html" target="frame1" onclick="befehl();">Link</a>

befehl() steht hier stellvertretend für einen Methoden-/Funktionsaufruf beziehungsweise für nahezu beliebigen JavaScript-Code.
Wenn du gleichzeitig auch die Adresse desselben Frames ändern willst, notierst du eben in das onclick-Attribut einen Befehl, welcher die Adresse ändert, zum Beispiel window.location.href='neue_seite_fuer_denselben_frame.html'; (http://selfhtml.teamone.de/javascript/objekte/location.htm#href). Natürlich solltest du darauf achten, dass dein Frameset und die Änderungen so aufgebaut sind, dass die Seite ohne JavaScript funktioniert.

Vielleicht interessiert dich auch http://selfhtml.teamone.de/javascript/objekte/frames.htm, wenn du in JavaScript frameübergreifend arbeiten willst (auf die Objekte/Variablen/Funktionen des anderen Frame-Dokuments zugreifen willst).

Grüße,
Mathias

--
»In anderen Newsgroups werden Pseudonyme akzeptiert, es handelt sich dabei meist um Gruppen, in denen sensible Themen (z.B. psychische oder peinliche Erkrankungen o.ä.) behandelt werden.«