从iframe中的页面获取body标签的Javascript

时间:2013-10-05 06:03:11

标签: javascript jquery html zend-framework iframe

所以这是我的身体,里面是一个也有自己身体的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(写一些东西)然后我想要更改顶部&#39;身体的背景图像。标签不是iframe的唯一标签。我可以在iframe上更改正文的背景图像,但不能更改上面的主体标记。

这就是我所拥有的:

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

因此,这会更改iframe正文标记,但我希望在整个页面的顶部找到更高的正文标记。有什么建议?并且需要使用javascript而不是jquery。

请记住,我从臭名昭着的ajax iframe文件上传回到iframe。一旦文件上传(在这种情况下是图像)完成,它应该改变当前页面的背景。

2 个答案:

答案 0 :(得分:1)

如果你喜欢这个

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

然后它将设置整个页面的背景图像,包​​括iframe body标签。 您可以做的一件事是再次将iframe的body标签的背景颜色更改为默认的白色。

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

答案 1 :(得分:0)

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

要获取内容文档,您可以使用:

var contDoc = iframe.contentDocument || iframe.contentWindow.document;
contDoc.style.backgroundImage='url(images/test.jpg)';
相关问题