Скопируйте содержимое 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.
удачи.