>웹 프론트엔드 >JS 튜토리얼 >IFrame과 상위 웹 사이트 간의 도메인 간 통신을 활성화하려면 어떻게 해야 합니까?

IFrame과 상위 웹 사이트 간의 도메인 간 통신을 활성화하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-27 01:06:13297검색

How Can I Enable Cross-Domain Communication Between an IFrame and Its Parent Website?

iFrame과 상위 사이트 간의 도메인 간 통신

iframe의 웹사이트가 다른 도메인에 있는 경우 iframe과 상위 사이트 간의 직접 통신 상위 사이트가 문제가 됩니다. 그러나 문서 간 메시징은 이러한 격차를 해소할 수 있습니다.

상위-Iframe 통신

상위 창에서 postMessage()를 사용하여 메시지를 보낼 수 있습니다. iframe의 contentWindow:

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

iframe 측에서 onmessage 이벤트는 캡처하고 처리할 수 있습니다. 메시지:

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

Iframe-to-Parent 통신

iframe에서 상위 창으로 메시지를 보내려면 window에서 postMessage()를 사용할 수 있습니다. top을 대상으로:

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

상위 창에서 onmessage 이벤트는 iframe의 메시지:

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

문서 간 메시징을 활용하면 다른 도메인의 iframe과 해당 상위 사이트 간에 양방향 통신을 설정할 수 있습니다.

위 내용은 IFrame과 상위 웹 사이트 간의 도메인 간 통신을 활성화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.