如何在Javascript中获取身体的IFRAME内容?

如何在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/>


动漫人物
浏览 487回答 3
3回答

阿波罗的战车

确切的问题是如何使用纯JavaScript,而不是jQuery。但我总是使用jQuery源代码中可以找到的解决方案。它只是一行原生JavaScript。对我来说,这是最好的,容易读的,甚至AFAIK获取iframes内容的最短方法。先拿到你的iramevar&nbsp;iframe&nbsp;=&nbsp;document.getElementById('id_description_iframe');//&nbsp;orvar&nbsp;iframe&nbsp;=&nbsp;document.querySelector('#id_description_iframe');然后使用jQuery的解决方案var&nbsp;iframeDocument&nbsp;=&nbsp;iframe.contentDocument&nbsp;||&nbsp;iframe.contentWindow.document;它甚至在InternetExplorer中工作,后者在contentWindow的属性iframe对象。大多数其他浏览器使用contentDocument属性,这就是为什么我们在这个或条件下首先证明这个属性的原因。如果没有设置,请尝试contentWindow.document.在iframe中选择元素然后你通常可以用getElementById()甚至querySelectorAll()对象中选择DOM元素iframeDocument:if&nbsp;(!iframeDocument)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;"iframe&nbsp;couldn't&nbsp;be&nbsp;found&nbsp;in&nbsp;DOM.";}var&nbsp;iframeContent&nbsp;=&nbsp;iframeDocument.getElementById('frameBody'); &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;orvar&nbsp;iframeContent&nbsp;=&nbsp;iframeDocument.querySelectorAll('#frameBody');调用iframe中的函数只要window元素来自iframe调用一些全局函数、变量或整个库(例如:jQuery):var&nbsp;iframeWindow&nbsp;=&nbsp;iframe.contentWindow;//&nbsp;you&nbsp;can&nbsp;even&nbsp;call&nbsp;jQuery&nbsp;or&nbsp;other&nbsp;frameworks/ /&nbsp;if&nbsp;it&nbsp;is&nbsp;loaded&nbsp;inside&nbsp;the&nbsp;iframeiframeContent&nbsp;=&nbsp;iframeWindow.jQuery('#frameBody');//&nbsp;oriframeContent&nbsp;=&nbsp;iframeWindow.$('#frameBody'); //&nbsp;or&nbsp;even&nbsp;use&nbsp;any&nbsp;other&nbsp;global&nbsp;variableiframeWindow.myVar&nbsp;=&nbsp;window.myVar; //&nbsp;or&nbsp;call&nbsp;a&nbsp;global&nbsp;functionvar&nbsp;myVar&nbsp;=&nbsp;iframeWindow.myFunction(param1&nbsp;/*,&nbsp;...&nbsp;*/);注如果你观察到同源政策.

桃花长相依

使用JQuery,尝试如下:$("#id_description_iframe").contents().find("body").html()

胡子哥哥

它对我来说是完美的:document.getElementById('iframe_id').contentWindow.document.body.innerHTML;
打开App,查看更多内容
随时随地看视频慕课网APP