2013-06-27 6 views
1

я наткнулся на сайт, как это, давайте называть его home.htmlКопирование innerHTML из фрейма в другой IFRAME

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

В 1.html, мы получили

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

Как я могу получить содержимое HTML в 2.html с JavaScript? Причина, почему я не хожу непосредственно 2.html, чтобы получить содержание, потому что содержание просто шаблон и получить динамически изменяться в home.html

Обычно, я бы просто сделать, как показано ниже, чтобы получить содержание в IFrame ид но в этом случае не работает.

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

спасибо.

+2

ли все эти фреймы на тот же домен ? –

+0

Tried 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 можно получить.

0

Это не достаточно, чтобы скопировать содержимое тега только ТЕЛА между фреймами, но вам нужно скопировать содержимое тега HEAD, а также получить тот же дизайн нового фрейма

var iFrameDocument= iframe.contentDocument || iframe.contentWindow.document; 
alert(iFrameDocument.head.innerHTML); 
alert(iFrameDocument.body.innerHTML); 
Смежные вопросы