Heim >Web-Frontend >js-Tutorial >Wie kann ich die domänenübergreifende Kommunikation zwischen einem Iframe und seiner übergeordneten Site aktivieren?

Wie kann ich die domänenübergreifende Kommunikation zwischen einem Iframe und seiner übergeordneten Site aktivieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-28 19:11:11302Durchsuche

How Can I Enable Cross-Domain Communication Between an Iframe and its Parent Site?

Inter-Site-Kommunikation: Verbinden von Iframes und übergeordneten Sites über Domänen hinweg

Die domänenübergreifende Kommunikation kann bei der Arbeit mit Iframes eine Herausforderung darstellen. Wenn die Domäne des Iframes von der der übergeordneten Site abweicht, werden ein direkter Zugriff oder Methodenaufrufe zwischen ihnen unmöglich.

Um diese Hürde zu überwinden, bietet dokumentübergreifendes Messaging eine Lösung:

Übergeordnete Site an Iframe:

Senden Sie im übergeordneten Fenster eine Nachricht an den Inhalt des Iframes Fenster:

myIframe.contentWindow.postMessage('hello', '*');

Achten Sie im Iframe auf das Nachrichtenereignis:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};

Iframe zur übergeordneten Website:

Im Iframe , senden Sie eine Nachricht an das übergeordnete Fenster der obersten Ebene:

window.top.postMessage('hello', '*')

Achten Sie im übergeordneten Fenster auf die Nachricht Ereignis:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};

Denken Sie daran, dass das „*“ in postMessage() die Übertragung der Nachricht an alle Abhörfenster ermöglicht. Durch den Einsatz von dokumentübergreifendem Messaging können Sie die Kommunikation zwischen einem Iframe und seiner übergeordneten Site herstellen, sogar über verschiedene Domänen hinweg.

Das obige ist der detaillierte Inhalt vonWie kann ich die domänenübergreifende Kommunikation zwischen einem Iframe und seiner übergeordneten Site aktivieren?. 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