Javascript-Befehl an ein Frame schicken
ademhb
- javascript
Hallo! Wie kann ich per Link einen Javascript-Befehl von einem frame an ein anderes schicken? Per klick auf einen Button soll der Inhalt in einem anderen Frame geladen werden und dabei soll auch ein Javascript-Befehl abgearbeitet werden (dynamisches Menü)!
Gruss an Alle!
Hallo
Schaue dir das Zwei-Frame-Beispiel an, dort siehst du, wie du einen anderen Frame laden kannst. Verwende bei deiner Lösung kein eval.
In deiner neuen Funktion kannst du weitere Aktionen ausführen. Alternativ rufst du einfach mehrere Funktionen mit dem Link auf.
Ich würde dir aber zu einfachen Links raten (natürlich sind Bildlinks in Buttondesing auch ok), da so auch Menschen ohne JavaScript in den Genuss deiner Seite kommen können. Zusätzlich bei den Links kannst du dann ja per onClick eine Funktion aufrufen lassen.
Grüße
David
Hallo
Schaue dir das Zwei-Frame-Beispiel an, dort siehst du, wie du einen anderen Frame laden kannst. Verwende bei deiner Lösung kein eval.
In deiner neuen Funktion kannst du weitere Aktionen ausführen. Alternativ rufst du einfach mehrere Funktionen mit dem Link auf.Ich würde dir aber zu einfachen Links raten (natürlich sind Bildlinks in Buttondesing auch ok), da so auch Menschen ohne JavaScript in den Genuss deiner Seite kommen können. Zusätzlich bei den Links kannst du dann ja per onClick eine Funktion aufrufen lassen.
Grüße
David
DANKESCHÖN. DAS KLAPPT AUCH GUT! NUN EINE STEIGERUNG! WENN ICH NUN ZWEI FRAMES HABE WIE HIER:
************************************
* FRAME 2 *
************************************
* *
* *
* FRAME 1 *
************************************
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`?
Danke für die Hilfe.
Gruß an alle
Adem
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