如何在Javascript中获取身体的IFRAME内容?<iframe id="id_description_iframe" class="rte-zone" height="200" frameborder="0" title="description">
<html>
<head></head>
<body class="frameBody">
test<br/>
</body>
</html></iframe>我想得到的是:test<br/>
3 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
先拿到你的irame
var iframe = document.getElementById('id_description_iframe');// orvar iframe = document.querySelector('#id_description_iframe');
然后使用jQuery的解决方案
var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
它甚至在InternetExplorer中工作,后者在 contentWindow
的属性 iframe
对象。大多数其他浏览器使用 contentDocument
属性,这就是为什么我们在这个或条件下首先证明这个属性的原因。如果没有设置,请尝试 contentWindow.document
.
在iframe中选择元素
getElementById()
querySelectorAll()
iframeDocument
:
if (!iframeDocument) { throw "iframe couldn't be found in DOM.";}var iframeContent = iframeDocument.getElementById('frameBody'); // orvar iframeContent = iframeDocument.querySelectorAll('#frameBody');
调用iframe中的函数
window
iframe
jQuery
):
var iframeWindow = iframe.contentWindow;// you can even call jQuery or other frameworks/ / if it is loaded inside the iframeiframeContent = iframeWindow.jQuery('#frameBody');// oriframeContent = iframeWindow.$('#frameBody'); // or even use any other global variableiframeWindow.myVar = window.myVar; // or call a global functionvar myVar = iframeWindow.myFunction(param1 /*, ... */);
注
胡子哥哥
TA贡献1825条经验 获得超6个赞
document.getElementById('iframe_id').contentWindow.document.body.innerHTML;
添加回答
举报
0/150
提交
取消