2

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

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

1.html,我们得到

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

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

通常,我只想在下面获取 iframe id 的内容,但在这种情况下它不起作用。

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

谢谢你。

4

4 回答 4

5

尝试这个,

var iFrame =  document.getElementById('id1');
var iFrameBody= iframe.contentDocument || iframe.contentWindow.document;
content= iFrameBody.getElementsByTagName('body')[0].innerHTML;
alert(content);
于 2013-06-27T07:15:43.490 回答
0

您的 iframe src 应该与您的主页域相同。不同的域内容访问被浏览器阻止。可以访问相同的域 iframe 内容。

于 2013-06-27T07:22:40.627 回答
0

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

var iFrameDocument= iframe.contentDocument || iframe.contentWindow.document;
alert(iFrameDocument.head.innerHTML);
alert(iFrameDocument.body.innerHTML);
于 2015-08-21T08:16:07.340 回答
0

如果你想用他的属性复制身体,你现在可以这样做:

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

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

于 2018-10-18T12:48:25.407 回答