有谁知道如何从 IFRAME 中获取 HTML 我尝试了几种不同的方法:
document.getElementById('iframe01').contentDocument.body.innerHTML
document.frames['iframe01'].document.body.innerHTML
document.getElementById('iframe01').contentWindow.document.body.innerHTML
等等
有谁知道如何从 IFRAME 中获取 HTML 我尝试了几种不同的方法:
document.getElementById('iframe01').contentDocument.body.innerHTML
document.frames['iframe01'].document.body.innerHTML
document.getElementById('iframe01').contentWindow.document.body.innerHTML
等等
我想这就是你想要的:
window.frames['iframe01'].document.body.innerHTML
编辑:
我确信这在 Chrome 和 Firefox 中不起作用,尽管它在 IE 中运行良好,这是我测试它的地方。回想起来,这是一个很大的错误
这将起作用:
window.frames[0].document.body.innerHTML
我知道这并不是被问到的问题,但我不想删除答案,因为我认为它有它的位置。
我喜欢下面@ravz 的 jquery 答案。
有类似下面的东西会起作用。
<iframe id = "testframe" onload = populateIframe(this.id);></iframe>
// The following function should be inside a script tag
function populateIframe(id) {
var text = "This is a Test"
var iframe = document.getElementById(id);
var doc;
if(iframe.contentDocument) {
doc = iframe.contentDocument;
} else {
doc = iframe.contentWindow.document;
}
doc.body.innerHTML = text;
}
康罗伊的回答是正确的。如果您只需要 body 标签中的内容,只需使用:
$('#my_iframe').contents().find('body').html();
不要忘记,出于安全考虑,您不能跨域。
因此,如果是这种情况,您应该使用JSON。