繁体   English   中英

将iframe中的html内容复制到div(ajax)中?

[英]Copy html content from iframe into div ( ajax )?

让我们假设我的浏览器加载了iframe与<iframe src="test.html">

我可以使用ajax将test.html的内容加载到主html页面的div中吗?

这个想法是我的解决方案,我实际上试图通过使ajax提交给远程主机来克服限制。 计划是生成具有0大小的iframe的动态页面,该页面向远程主机发出报告请求。 然后,在页面(&iframe内容)加载后,我将使用JS将iframe内容复制到div中。

提示表示赞赏,

谢谢你,马克西姆。

不,你不能。

将页面从其他域加载到iframe时,它将无法访问。 您无法再访问iframe的内容,因为它来自不同的域。

我所知道的唯一可以从不同域可靠加载的是JSONP使用的脚本。

我可以使用ajax将test.html的内容加载到主html页面的div中吗?

是(因为您的示例具有相对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视为属于您的域。 如果您不熟悉任何服务器端脚本语言,我相信您可以通过简单的谷歌搜索找到一个可以为您执行此操作的脚本。

祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM