有没有人知道如何从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答案.
有类似以下的东西会起作用.
// 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; }
如果你看一下JQuery,你可以这样做:
$('#my_iframe').contents().find('html').html();
这假设您的iframe父级和子级驻留在同一服务器上,这是由于Javascript中的同源策略.
康罗伊的回答是正确的.如果您只需要body标签中的内容,只需使用:
$('#my_iframe').contents().find('body').html();