所以这是我的身体,里面是一个也有自己身体的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。一旦文件上传(在这种情况下是图像)完成,它应该改变当前页面的背景。
答案 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)';