2013-10-05 35 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"; 
相关问题