Heim >Web-Frontend >js-Tutorial >Wie können Iframes auf verschiedenen Domänen mithilfe von PostMessage kommunizieren?

Wie können Iframes auf verschiedenen Domänen mithilfe von PostMessage kommunizieren?

Barbara Streisand
Barbara StreisandOriginal
2024-11-26 06:12:08384Durchsuche

How Can Iframes on Different Domains Communicate Using PostMessage?

Domänenübergreifende Kommunikation zwischen Iframe und übergeordneter Site

Wenn sich ein Iframe in einer anderen Domäne als seiner übergeordneten Site befindet, erfolgt die direkte Kommunikation über Methoden oder der Zugriff auf Inhaltsdokumente ist nicht möglich. In solchen Fällen liegt die Lösung in der dokumentübergreifenden Nachrichtenübermittlung.

Parent to Iframe Communication

Im übergeordneten Fenster:

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

In der Iframe:

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

Iframe to Parent Kommunikation

Im übergeordneten Fenster:

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

Im Iframe:

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

Denken Sie an das Sternchen (*) in der postMessage()-Funktion stellt einen Platzhalter dar, der den Empfang der Nachricht von jedem beliebigen Ursprung aus ermöglicht.

Das obige ist der detaillierte Inhalt vonWie können Iframes auf verschiedenen Domänen mithilfe von PostMessage kommunizieren?. 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