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
Freigeben: 2024-11-26 06:12:08
Original
434 Leute haben es durchsucht

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', '*');
Nach dem Login kopieren

In der Iframe:

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

Iframe to Parent Kommunikation

Im übergeordneten Fenster:

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

Im Iframe:

window.top.postMessage('hello', '*')
Nach dem Login kopieren

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!

Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage