2013-10-05 3 views
0

Итак, вот мое тело и внутри - это iframe, у которого также есть собственное тело.Javascript получает тег тела со страницы внутри iframe

<body> 
<div id="container_container"> 
<div id="header_container"> 
    <div id="logo_container"><br> 
     <div id="auth"> 

     </div> 
    </div> 

</div> 

<div id="content_container"> 

    <div id="main_container"> 

     <div id="graphs_bom_container"> 
      <div id="form_upload"></div> 

      <iframe id='my_iframe' name='my_iframe' src="" > 
      <html> 
      <head></head> 
      <body> 


      </body> 
      </html> 
      </iframe> 
     </div> 
    </div> 
</div> 

</div> 
</body> 

Так что, если я возвращаю из контроллера в IFRAME (писать что-то на него), а затем я хочу, чтобы изменить фоновое изображение верхнего «тела» тег не один один в IFrame. Я могу изменить фоновое изображение тела на iframe, но не тег основного тела вверху.

Это то, что у меня есть:

document.body.style.backgroundImage='url(images/test.jpg)';; 

Так что это изменяет тег IFrame тела, но я хотел бы, чтобы достичь более высокого метки тела в верхней части для всей страницы. Какие-либо предложения? И нужно сделать это, используя javascript только без jquery.

Имейте в виду, что я возвращаюсь в iframe из печально известной загрузки файла ajax iframe. После завершения загрузки файла (изображение в этом случае) он должен изменить фон текущей страницы.

+0

document.getElementById ('body'), вы уверены? ??? –

+0

, чтобы получить родительский документ iframe, который вы хотите 'window.parent.document' –

+0

любой скрипт? ... –

ответ

0
var iframe = document.getElementById('my_iframe'); 

и получить документ контента можно использовать:

var contDoc = iframe.contentDocument || iframe.contentWindow.document; 
contDoc.style.backgroundImage='url(images/test.jpg)'; 
+0

Он возвращается как iframe. Имейте в виду, что я возвращаюсь в iframe из печально известной загрузки файла ajax iframe. После завершения загрузки файла (изображение в этом случае) он должен изменить фон текущей страницы. –

1

Если вы любите эту

document.body.style.backgroundImage='url(images/test.jpg)'; 

, то он установит фоновое изображение всей страницы, включая IFRAME body бирка тоже. Одна вещь, которую вы можете сделать, - это снова изменить цвет фона тега body iframe на белый цвет по умолчанию.

window.frames[0].document.getElementsByTagName("body")[0].style.backgroundColor="white"; 
Смежные вопросы