Как я могу вызвать действие в Iframe, загруженном через скрипт в том же домене?
Я загружаю скрипт (который находится в Домене B) внутри страницы, которая находится в Домене A:
<div id="page-of-domain-a">
<script type='text/javascript' src='http://MyDomainB/init.js'></script>
<div class='element-inside-page-a'></div>
</div>
этот скрипт предварительно создает iframe (скрытый) на этой странице в Домене A (ну, это предварительно загрузит все элементы / изображения / скрипты этой страницы в Домене B).
В какой-то момент, используя обработчик, объявленный внутри init.js:
$(document).on("click", ".element-inside-page-a", function (e) {
e.preventDefault();
SomeFunctionInsideIFrame();
});
Я хотел бы вызвать действие внутри iframe (например, "эй iframe, пусть теперь видимым").
Поскольку скрипт и iframe находятся в одном домене, почему я заблокирован одной и той же политикой происхождения?
Как я могу вызвать асинхронное событие в пределах iframe из домена A? (У меня полный доступ к домену B). Домен B прокси? Какие-либо предложения?
1 ответ
Для связи между страницей и iframe см. Эту статью
http://blog.teamtreehouse.com/cross-domain-messaging-with-postmessage