2009-10-04 56 views
1

我正在一个Joomla 1.5网站和一个自包含的PHP应用程序,我想在一篇文章中插入的IFRAME中显示。我用于网站的模板有深灰色背景,IFRAME在Firefox中加载时显示灰色背景(我不太清楚为什么这样,但我喜欢这样)。但是,当页面在IE中加载时,IFRAME具有白色背景(可以理解)。如何将IFRAME的背景颜色设置为其父文档的BG颜色?

我怎样才能让IFRAME在IE中复制其父文档的背景颜色?


此外,我还有一个未解答的question related to IFRAME usage and Joomla 1.5,我想请你注意一下。

回答

1

如果独立的应用程序是在同一个域中文章页面,你可以通过JavaScript访问顶部框架(与文章) - 是这样的:

document.body.style.backgroundColor = getComputedStyle(window.top.document.body); 

计算样式可以得到如描述于this article

您的其他选择是为iframe添加查询字符串参数,如bgcolor= - 这是一种更类似窗口小部件的方法,并且会使独立应用程序更具可配置性。我个人推荐这种方法 - 它不会依赖于JavaScript,如果执行速度缓慢,它不会闪烁。

+0

感谢您的意见。是的,应用程序在同一个域上,我会尝试javascript解决方案,但我明白为什么第二个选项有你的偏好。 – 2009-10-04 11:11:06

+0

第一个选项不适用于使用currentStyle的IE,也不适用于既不可用的旧版浏览器。它也依赖于仅在body标签上设置的背景;如果它被设置在html标签或身体内的任何其他div,它不会工作。另一方面,'bgcolor'参数是明确而坚实的。 – bobince 2009-10-04 13:43:34

+0

@bobince关于body标签的好处 - currentStyle/computedStyle的区别在文章中解释 - 我只是用这个词来描述这个概念... – 2009-10-04 18:58:09