Heim >Web-Frontend >js-Tutorial >Wie rufe ich JavaScript-Funktionen in einem Iframe von der übergeordneten Seite aus auf?

Wie rufe ich JavaScript-Funktionen in einem Iframe von der übergeordneten Seite aus auf?

Linda Hamilton
Linda HamiltonOriginal
2024-12-14 09:23:10173Durchsuche

How to Call JavaScript Functions in an Iframe from its Parent Page?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn