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', '*')