#javascript #iframe #innerhtml
#javascript #iframe #innerhtml
Вопрос:
У меня большая проблема. 🙁 Я пытаюсь получить iFrame innerHTML, чтобы поместить его в div innerHTML. Я перепробовал все, что нашел в Google. Есть ли какой-нибудь шанс помочь мне с этим? Спасибо!
Комментарии:
1. Имеет ли сайт в
iframe
тот же домен и порт, что и родительский документ?2. Да, у них есть. Что я пытаюсь сделать, так это загрузить page2.html или page2.php в div из index.php .
3. Было бы полезно, если бы вы могли показать какой-нибудь пример кода того, что не работает.
Ответ №1:
Я предполагаю, что сайт в iframe
не имеет того же домена, протокола и порта, что и его родительский, и, следовательно, к нему невозможно получить доступ.
Это сделано специально. Ознакомьтесь с той же политикой происхождения.
Если вы подключены http://sub.domain.com
и хотите получить доступ http://domain.com
, вы могли бы использовать…
document.domain = 'domain.com';
Что касается получения innerHTML
, попробуйте…
var iframe = document.getElementById('iframe'),
iframeDocument;
if ('contentWindow' in iframe) {
iframeDocument = iframe.contentWindow;
} else {
iframeDocument = iframe.contentDocument;
}
var innerHTML = iframeDocument.innerHTML;