2013-10-05 34 views
0

所以這裏是我的身體,裏面是一個擁有自己身體的iframe。Javascript從iframe內頁面獲取body標籤

<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 body標籤,但我想在最高達到更高的body標籤整個頁面。有什麼建議麼?並需要使用JavaScript做到這一點只有沒有jQuery。

請記住,我從臭名昭着的ajax iframe文件上傳返回到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爲空。 請記住,我從臭名昭着的ajax iframe文件上傳返回到iframe。一旦文件上傳(在這種情況下,圖像)完成,它應該改變當前頁面的背景。 –

1

如果你喜歡這款

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

然後將設置整個頁面的背景圖像包括了iframe身體標籤也。 您可以做的一件事是再次將iframe的body標籤的背景顏色更改爲默認的白色。

window.frames[0].document.getElementsByTagName("body")[0].style.backgroundColor="white"; 
相關問題