Heim >Web-Frontend >js-Tutorial >Wie rufe ich JavaScript-Funktionen in einem Iframe von der übergeordneten Seite aus auf?
JavaScript-Funktionen in einem Iframe von der übergeordneten Seite aus aufrufen
Wenn ein Iframe in eine Webseite eingebettet wird, entsteht eine Sandbox-Umgebung, die isoliert den darin enthaltenen Code von der übergeordneten Seite. Es kann jedoch Szenarien geben, in denen Sie auf die im Iframe definierten JavaScript-Funktionen von der übergeordneten Seite aus zugreifen und diese aufrufen müssen.
Die Herausforderung verstehen
Der Standardansatz: Aufrufen parent.functionName() innerhalb des Iframes funktioniert in diesem Fall nicht. Dies liegt daran, dass die übergeordnete Seite nicht die unmittelbare übergeordnete Seite des Iframes ist, sondern vielmehr die virtuelle Sandbox-Umgebung des Iframes.
Zugriff auf das Inhaltsfenster des Iframes
Zum Zugreifen und Aufrufen Um JavaScript-Funktionen innerhalb des Iframes ausführen zu können, müssen Sie einen Verweis auf dessen contentWindow-Eigenschaft erhalten. Diese Eigenschaft stellt das Fensterobjekt des Iframes dar und bietet Ihnen Zugriff auf seine globalen Variablen, Funktionen und DOM.
JavaScript-Funktionen aufrufen
Sobald Sie das contentWindow haben Referenz können Sie JavaScript-Funktionen innerhalb des Iframes aufrufen, indem Sie die folgende Syntax verwenden:
document.getElementById('iframeID').contentWindow.functionName();
wobei iframeID das ID-Attribut ist des Iframes.
Zugriff auf Frames mit window.frames
Alternativ können Sie auch window.frames verwenden, um auf Ihren Iframe zuzugreifen. Bei der Verwendung dieser Methode sollten Sie beachten, dass sie möglicherweise nicht in allen modernen Browsern unterstützt wird. Die Syntax für diesen Ansatz lautet:
window.frames[0].frameElement.contentWindow.functionName();
Beispiel
Angenommen, Ihr Iframe hat die ID „targetFrame“ und die Funktion, die Sie aufrufen möchten, heißt „targetFunction“. ()":
document.getElementById('targetFrame').contentWindow.targetFunction();
Das obige ist der detaillierte Inhalt vonWie rufe ich JavaScript-Funktionen in einem Iframe von der übergeordneten Seite aus auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!