2013-06-27 128 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);