【问题标题】:How to set IFRAME's background color to the BG-color of it's parent document?如何将 IFRAME 的背景颜色设置为其父文档的背景颜色?
【发布时间】:2009-10-04 08:04:49
【问题描述】:

我正在开发一个 Joomla 1.5 网站和一个小的独立 php 应用程序,我想在一篇文章中插入的 IFRAME 中展示它。我用于网站的模板具有深灰色背景,并且 IFRAME 在 Firefox 中加载时显示灰色背景(我不太清楚为什么会这样,但我喜欢这样)。但是,当页面在 IE 中加载时,IFRAME 有白色背景(可以理解)。

如何让 IFRAME 在 IE 中复制其父文档的背景颜色?


另外,我还有一个未答复的question related to IFRAME usage and Joomla 1.5,我想请您注意。

【问题讨论】:

    标签: css internet-explorer firefox iframe joomla


    【解决方案1】:

    如果自包含应用程序与文章页面位于同一域中,您可以通过 javascript 访问顶部框架(与文章一起) - 如下所示:

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

    可以按照this article中的描述获取计算样式。

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

    【讨论】:

    • 感谢您的建议。是的,应用程序在同一个域上,我会尝试使用 javascript 解决方案,尽管我明白为什么第二个选项有您的偏好。
    • 第一个选项在 IE 上不起作用,IE 使用 currentStyle 代替,旧版浏览器都不可用。它还依赖于仅在 body 标签上设置的背景;如果它设置在 html 标记或正文内的任何其他 div 上,则它不起作用。另一方面,bgcolor 参数是明确且可靠的。
    • @bobince 关于body标签的好点——文章中解释了currentStyle/computedStyle的区别——我只是用这个词来描述这个概念......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    相关资源
    最近更新 更多