Funktion in iframe aufrufen
NTcomputer
- javascript
0 NTcomputer0 molily0 ChrisB0 NTcomputer0 molily
Hallo,
ich habe ein Hauptfenster mit einem iframe:
<iframe id='textframe' src='news.php'>
Jetzt möchte ich in diesem iframe eine Funktion aufrufen, Quelltext des frames:
<script language="JavaScript">
<!--
function setopac(opac) {
outdiv1.style.filter="alpha(opacity:" + opac + ")";
}
//-->
</script>
<div id="outdiv1" style="filter:alpha(opacity:0)">
[...]
</div>
Diese Funktion will ich jetzt über das Hauptfenster aufrufen, z.B. so:
textframe.setopac(opac5);
IE gibt mir aber immer zurück, dass das Objekt die Eigenschaft oder Methode nicht unterstützt!
Was ist daran falsch?
Optional würde es auch mit einem direkten Aufruf von:
outdiv1.style.filter
aus dem Hauptfenster gehen...
Hallo,
Diese Funktion will ich jetzt über das Hauptfenster aufrufen, z.B. so:
textframe.setopac(opac5);
textframe ist das iframe-Elementobjekt, und das hat selbstverständlich keine Methode namens setopac. Die Methode hängt am window-Objekt des Iframes. Daran kommst du ausgehend vom iframe-Elementobjekt über die Eigenschaft contentWindow:
textframe.contentWindow.setopac(...);
Übrigens ist nur im IE der Zugriff auf Elemente mit IDs über gleichlautende globale Variablen möglich.
Mathias
Hi,
Übrigens ist nur im IE der Zugriff auf Elemente mit IDs über gleichlautende globale Variablen möglich.
<spitzfindig> Nein, in anderen Browsern auch - nur muss man diese gleichlautende globale Variable dort erst mal erzeugen :-) </spitzfindig>
MfG ChrisB
textframe ist das iframe-Elementobjekt, und das hat selbstverständlich keine Methode namens setopac. Die Methode hängt am window-Objekt des Iframes. Daran kommst du ausgehend vom iframe-Elementobjekt über die Eigenschaft contentWindow:
textframe.contentWindow.setopac(...);
Ersteinmal danke für die Antwort!
Aber gebracht hat es leider nichts.
Der IE zeigt jetzt "textframe.contentWindow ist Null oder kein Objekt" an..
Hallo,
Der IE zeigt jetzt "textframe.contentWindow ist Null oder kein Objekt" an..
Was ist textframe? > Ausgeben lassen. Sollte das iframe-Elementobjekt sein (z.B. .nodeName ist "IFRAME").
contentWindow ist nach dem erfolgreichen Laden des Dokuments im Iframe verfügbar > Code erst bei bzw. nach window.onload bzw. textframe.onload ausführen.
Dann sollte es klappen.
Mathias