Передача перекрестного происхождения от родительского к дочернему iframe
Я работаю над сторонним Javascript. Меня особенно интересует связь между родительской страницей и дочерним фреймом с другого происхождения. Используя window.postMessage, тривиально безопасно отправлять сообщения от дочернего элемента и иметь родительский прием с событием message
.
Мне не повезло в другом направлении. Могу ли я получить подтверждение, что невозможно связаться с родителем ребенку с помощью postMessage? Если нет, то каковы способы решения этой проблемы?
Ответы
Ответ 1
Вы можете использовать .postMessage()
между любыми двумя взаимодействующими окнами. Неважно, в каком направлении вы отправляете сообщение. Если он не работает в одном направлении, возможно, ошибка в реализации. Возможно, вам потребуется убедиться, что у вас есть соответствующий объект окна.
Для iframe вы хотели бы использовать свойство .contentWindow
, чтобы получить его окно в современных браузерах.
Некоторая хорошая документация здесь: https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage