Получить междоменный контент iFrame - PullRequest
1 голос
/ 25 июня 2011

Хотелось бы узнать, как я могу получить контент из междомена IFrame?

У меня нет проблем с получением контента из междоменного iFrame, но когда он находится в другом домене, JavaScript не разрешает доступ.

Ответы [ 2 ]

11 голосов
/ 25 июня 2011

Вы используете Обмен сообщениями между документами , , вот пример .Вот важный код с родительской страницы:

window.addEventListener('message', receiver, false);
function receiver(e) {
    document.getElementById('message').value = e.data;
}
function update_child() {
    var el = document.getElementsByTagName('iframe')[0];
    el.contentWindow.postMessage('Updated from parent', '*');
}

Дочерняя страница имеет идентичный код - обратите внимание, что вам нужно иметь возможность реализовать интерфейс на обоих доменах, чтобы он работал, либо самостоятельно, если выконтролировать оба или в сотрудничестве с владельцем другого домена.В рабочем коде вы должны установить (и проверить) источник .

5 голосов
/ 25 июня 2011

За исключением запроса через прокси на вашем собственном сервере, вы не можете.

Политика того же происхождения предотвращает это (и по уважительной причине; я был бы очень недоволен, если быВы загрузили мой банковский сайт в свой iframe и прочитали все данные моего аккаунта)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...