Javascript iframe innerHTML
时间:2020-03-06 14:46:50 来源:igfitidea点击:
有谁知道如何从IFRAME中获取HTML,我尝试了几种不同的方法:
document.getElementById('iframe01').contentDocument.body.innerHTML document.frames['iframe01'].document.body.innerHTML document.getElementById('iframe01').contentWindow.document.body.innerHTML
等等
解决方案
如果我们查看JQuery,则可以执行以下操作:
<iframe id="my_iframe" ...></iframe> $('#my_iframe').contents().find('html').html();
假设iframe父级和子级都位于同一服务器上,这归因于Java中的"相同来源策略"。
我认为这是我们想要的:
window.frames['iframe01'].document.body.innerHTML
编辑:
我有很好的权限,尽管它在IE(我测试过的地方)中能完美运行,但它不能在Chrome和Firefox中使用。回想起来,那是一个大错误
这将起作用:
window.frames[0].document.body.innerHTML
我了解这并不是所要的,但我不想删除答案,因为我认为它有位置。
我喜欢下面的@ravz的jquery答案。
不要忘记,由于安全原因,我们不能跨域。
因此,如果是这种情况,则应使用JSON。
拥有类似以下内容的方法将起作用。
<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; }