Как я могу вызвать действие в 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

Другие вопросы по тегам