在另一个iframe中复制iframe的innerHTML

时间:2013-06-27 07:10:20

标签: javascript iframe

我偶然发现了这样的网站,我们称之为home.html

<body>
<iframe id='id1' src="1.html">
</iframe>
</body>

1.html,我们得到了

<body>...
<iframe id='id2' src="2.html">
</iframe>
...
</body>

如何使用JavaScript获取2.html的HTML内容?我没有直接转到2.html获取内容的原因是因为内容只是一个模板,并在home.html

动态更改

通常情况下,我会像下面一样获取iframe ID的内容,但在这种情况下它不起作用。

var e = document.getElementById('myid').html;

谢谢。

4 个答案:

答案 0 :(得分:4)

试试这个,

var iFrame =  document.getElementById('id1');
var iFrameBody= iframe.contentDocument || iframe.contentWindow.document;
content= iFrameBody.getElementsByTagName('body')[0].innerHTML;
alert(content);

答案 1 :(得分:0)

你的iframes src应与你的主页面域相同。浏览器会阻止不同的域内容访问。可以访问相同的域iframe内容。

答案 2 :(得分:0)

仅在iframe之间复制BODY标记内容是不够的,但您还需要复制HEAD标记内容以获得相同的新iframe设计

var iFrameDocument= iframe.contentDocument || iframe.contentWindow.document;
alert(iFrameDocument.head.innerHTML);
alert(iFrameDocument.body.innerHTML);

答案 3 :(得分:0)

如果您要复制具有其属性的正文,则可以执行以下操作:

iframe1.contentWindow.document.body = iframe2.contentWindow.document.body.cloneNode(true);

cloneNode(true)将复制指定节点的每个子节点