Javascript 从 iframe 内部的页面获取正文标签

Javascript getting body tag from page inside iframe

本文关键字:获取 正文 标签 iframe 内部 Javascript      更新时间:2023-09-26

这是我的身体,里面是一个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。文件上传(在本例中为图像)完成后,它应该更改当前页面的背景。

如果你喜欢这个

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

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

   window.frames[0].document.getElementsByTagName("body")[0].style.backgroundColor="white";
var iframe = document.getElementById('my_iframe');

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

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