Rufen Sie die javascript-Funktion von einem Rahmen in den anderen frameset
Meine Website ist wie folgt aufgebaut:
<frameset rows="80,*">
<frame name="top" id="top" src="header.html">
<frameset id="innerframe" cols="300,*">
<frame name="nav" src="nav.html">
</frameset>
</frameset>
In header.html
ich haben:
function fAlert() {
alert('test');
}
Wie kann ich call fAlert()
im nav.html
?
Ich habe versucht,
var fframe = parent.document.getElementById('top');
fframe.fAlert();
und auch
parent.frames.top.fAlert();
aber es hat nicht funktioniert (fAlert is undefined
).
Irgendwelche Ideen, wie kann ich dies erreichen?
InformationsquelleAutor seph | 2013-11-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
First off, nicht mit framesets und frames. Verwenden Sie iframes--frames sind veraltet.
Zweitens, stellen Sie eine id für das iframe (oder frame, wenn Sie müssen), um direkt die Funktion aufrufen, korrekt. (Sie haben schon ziemlich viel gemacht, aber ich bin methodisch Vorgehen.) Ich würde nicht nennen es 'oben' denn 'oben' hat bereits eine Bedeutung in Bezug auf windows und frames.
Vom inneren des nav-frame, übergeordneter.insertYourFrameIdHere.fAlert() sollte korrekt funktionieren. Dies setzt Voraus, zwei Dinge: 1) Die Seite und der Inhalt des Rahmens kommen aus der gleichen Domäne, und 2) header.html richtig geladen und es gab kein Skript-Fehler. Skript-Fehler oder andere Probleme könnten die Funktion aus, die jemals geschaffen.
framesets/frames
und ich bin nicht in der Lage, das zu ändern. Ich möchte auch hinzufügen, dasstop
ist ein wirklich unbequem name für eineframe
.parent.frames[0].fAlert()
hat den trick.InformationsquelleAutor user1329482
Für den html-Code in Ihre Frage folgende arbeiten sollten.
InformationsquelleAutor user3005791