2013-09-25 7 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

Смежные вопросы