2013-06-27 96 views
1

我偶然发现一个这样的网站内的iframe的复制innerHTML的,我们称之为home.html另一个IFRAME

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

1.html,我们得到了

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

我怎样才能得到的2.html HTML内容用JavaScript?我没有直接去2.html获取内容的原因是因为它的内容只是一个模板,并获得在home.html

通常动态变化的,我只想做象下面让一个iframe ID的内容,但在这种情况下不起作用。

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

谢谢。

+2

相同的设计是否所有这些I帧的在同一个域? –

+0

试过document.frames [0] .frames [0] .getElementById('myid')? –

回答

4

试试这个,

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

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

0

这是不够的,复制的I帧之间只是BODY标签的内容,但是你需要复制HEAD标签内容,以及获得新的iframe

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