0

所以这是我的身体,里面是一个 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(向其写入内容),然后我想更改顶部“body”标签的背景图像,而不是 iframe 的背景图像。我可以更改 iframe 上主体的背景图像,但不能更改上面的主体标签。

这就是我所拥有的:

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

所以这会改变 iframe 正文标签,但我想在整个页面的顶部到达较高的正文标签。有什么建议么?并且需要使用 javascript 来做到这一点,没有 jquery。

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

4

2 回答 2

1

如果你喜欢这样

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

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

   window.frames[0].document.getElementsByTagName("body")[0].style.backgroundColor="white";
于 2013-10-05T07:05:51.997 回答
0
var iframe = document.getElementById('my_iframe');

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

var contDoc = iframe.contentDocument || iframe.contentWindow.document;
contDoc.style.backgroundImage='url(images/test.jpg)';
于 2013-10-05T06:08:50.393 回答