Jak komunikować się między iframe a stroną nadrzędną?

Witryna w iframe nie znajduje się w tej samej domenie, ale obie są moje i chciałbym się komunikować między iframe a witryną nadrzędną. Czy jest to możliwe?

1 odpowiedź

W przypadku różnych domen nie można wywoływać metod ani uzyskiwać bezpośredniego dostępu do dokumentu treści iframe.

Musisz używać tzw. cross-document messaging, tu poniżej masz wyjaśnienie o co dokładnie chodzi

https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

Np w top window:

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

oraz w iframe:

window.onmessage = function(e){
    if (e.data == 'Witaj') {
        alert('Działa!');
    }
};

Jeśli publikujesz wiadomość z iframe w stronie nadrzędnej:

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

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.