Скопируйте содержимое html из iframe в div (ajax?

предположим, что мой браузер загружает Iframe с <iframe src="test.html">

могу ли я, используя ajax, загрузить содержимое теста.html в div на главной странице html?

эта идея-мое решение для того факта, что я на самом деле пытаюсь преодолеть ограничение, делая ajax подчиняется удаленным хостам. Планируется создать динамическую страницу с размером iframe 0, которая делает запрос отчета удаленному хосту. Затем после загрузки страницы (&iframe content) я скопирую iframe содержимое в div с помощью JS.

советы приветствуются,

спасибо, Сентенция.

5 ответов


Нет, ты не можешь.

когда вы загружаете страницу из другого домена в iframe, она становится недоступной. Вы больше не можете получить доступ к содержимому iframe, так как оно поступает из другого домена.

единственное, что я знаю, что вы можете надежно загрузить из другого домена-это скрипт, который JSONP использует.


могу ли я, используя ajax, загрузить содержимое теста.html в div на главной странице html?

да (так как ваш пример имеет относительный URI, и находится на том же хосте) ...

эта идея-мое решение для того факта, что я на самом деле пытаюсь преодолеть ограничение, делая ajax подчиняется удаленным хостам.

... и нет. Вы все еще не можете читать данные с удаленных хостов.


Я уверен, что кто-то поправит меня, если я ошибаюсь, но я считаю, что скрипты с других доменов ограничено. Вы пробовали? Вот функция, которая может помочь.

function insertDivFromFrame(divname, framename) {
    var frame = document.getElementById(framename);
    var d = frame.contentWindow || frame.contentDocument;
    if (oDoc.document) {d = d.document;}
    document.getElementById('yourdiv').innerHTML = d.body.innerHTML;
}

Я не уверен, что этот код работает... вижу http://xkr.us/articles/dom/iframe-document/ для получения дополнительной помощь.


... однако вы можете создать запрос AJAX для локального хоста и получить информацию с удаленного сервера (как описано здесь).


Если вы пишете php / perl / etc. скрипт для вывода содержимого документа из другого домена он предоставит вам доступ к содержимому, поскольку полученная страница будет считаться javascript принадлежащей вашему домену. Если вы не знакомы с любыми серверными языками сценариев, я уверен, что вы сможете найти сценарий, который сделает это для вас, выполнив простой поиск google.

удачи.