2013-09-25 1 views
11

나는 Third Party Javascript을 통해 작업하고 있습니다. 저는 특히 부모 페이지와 다른 출처의 자식 프레임 간의 통신에 관심이 있습니다. window.postMessage를 사용하면 자식으로부터 안전하게 메시지를 보내고 부모에게 message 이벤트를 사용하여 메시지를받는 것이 간단합니다.부모와 아이가 iframe을 교차하는 곳에서 통신하기

다른 방향으로가는 행운이 없었습니다. postMessage를 사용하여 부모로부터 자식에게 통신 할 수있는 것이 이 아닌이라는 확인을받을 수 있습니까? 이 문제를 해결하기위한 방법은 무엇입니까?

답변

12

두 개의 협력 창간에 .postMessage()을 사용할 수 있어야합니다. 메시지를 보내는 방향은 중요하지 않습니다. 한 방향으로 작업하지 않으면 구현에 오류가있을 수 있습니다. 적절한 창 개체가 있는지 확인해야 할 수 있습니다. iframe이 들어

, 당신은 현대적인 브라우저의 창을 얻기 위해 .contentWindow 속성을 사용할 것입니다.

여기에 좋은 설명서가 있습니다. https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage

+0

정말 옳았습니다. 구현 후에 버그가 발생하여 게시 후 보았습니다. – Benmj

+0

.contentWindow 속성을 얻는 방법을 알고있는 경우? 내 페이지의 iframe에 하나도없는 것 같습니다. 같은 도메인도 ... – newshorts

+0

이것은 나를 위해 기념비적으로 유용했습니다. 고맙습니다! – Kon