从iFrame中获取元素

如何从<iframe>获取<div> <iframe>并将其打印在我的页面上?

 var iframe = document.getElementById('iframeId'); var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document; 

你可以更简单地写:

 var iframe = document.getElementById('iframeId'); var innerDoc = iframe.contentDocument || iframe.contentWindow.document; 

并将返回第一个有效的内部文档。

一旦获得了内部文档,就可以像访问当前页面上的任何元素一样访问其内部。 ( innerDoc.getElementById …等)

重要提示:确保iframe在同一个域中,否则无法访问其内部。 这将是跨站点脚本。

 window.parent.document.getElementById("framekit").contentWindow.CallYourFunction('pass your value') 

CallYourFunction()是页面内部的函数,它的function是动作

加载后不要忘记访问iframe。 没有jQuery的旧但可靠的方法:

 <iframe src="samedomain.com/page.htm" id="iframe" onload="access()"></iframe> <script> function access() { var iframe = document.getElementById("iframe"); var innerDoc = iframe.contentDocument || iframe.contentWindow.document; console.log(innerDoc.body); } </script> 

没有其他答案为我工作。 我结束了在我的iframe中创build一个函数,返回我正在寻找的对象:

 function getElementWithinIframe() { return document.getElementById('copy-sheet-form'); } 

然后你像这样调用该函数来检索元素:

 var el = document.getElementById("iframeId").contentWindow.functionNameToCall();