20 javascript iframe innerhtml
有没有人知道如何从IFRAME中获取HTML我已尝试过几种不同的方法:
document.getElementById('iframe01').contentDocument.body.innerHTML
document.frames['iframe01'].document.body.innerHTML
document.getElementById('iframe01').contentWindow.document.body.innerHTML
Run Code Online (Sandbox Code Playgroud)
等等
wcm*_*wcm 17
我想这就是你想要的:
window.frames['iframe01'].document.body.innerHTML
Run Code Online (Sandbox Code Playgroud)
编辑:
我有很好的权威,这在Chrome和Firefox中不起作用,虽然它在IE中完美运行,这是我测试它的地方.回想起来,这是一个很大的错误
这将有效:
window.frames[0].document.body.innerHTML
Run Code Online (Sandbox Code Playgroud)
我知道这不是所要求的,但不想删除答案,因为我认为它有一个地方.
我喜欢下面的@ ravz的jquery答案.
cyp*_*her 12
有类似以下的东西会起作用.
<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;
}
Run Code Online (Sandbox Code Playgroud)
如果你看一下JQuery,你可以这样做:
<iframe id="my_iframe" ...></iframe>
$('#my_iframe').contents().find('html').html();
Run Code Online (Sandbox Code Playgroud)
这假设您的iframe父级和子级驻留在同一服务器上,这是由于Javascript中的同源策略.
康罗伊的回答是正确的.如果您只需要body标签中的内容,只需使用:
$('#my_iframe').contents().find('body').html();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
130486 次 |
| 最近记录: |