更改iframe问题的背景颜色

时间:2013-02-12 10:54:03

标签: html html5 iframe background-color

如果<iframe></iframe>,我需要将背景颜色更改为显示页面的白色。那可能吗?现在原始网站的背景是灰色的。

 <iframe allowtransparency="true" style="background-color: Snow;" src="http://zingaya.com/widget/9d043c064dc241068881f045f9d8c151" frameborder="0" height="184" width="100%">
    </iframe>

我想更改已加载页面的背景

6 个答案:

答案 0 :(得分:23)

我的框架背景可以改变。如下所示

<iframe allowtransparency="true" style="background: #FFFFFF;" src="http://zingaya.com/widget/9d043c064dc241068881f045f9d8c151" frameborder="0" height="184" width="100%">
    </iframe>

如果你想改变你在iframe中加载的页面背景,那么我认为这是不可能的。

答案 1 :(得分:3)

JavaScript就是您所需要的。如果您在加载页面时加载iframe,请使用onload事件插入iframe的测试。如果iframe是实时插入的,那么在插入时创建一个回调函数并挂钩你需要采取的任何行动:)

答案 2 :(得分:0)

你可以用javascript

来做
  • 更改iframe背景颜色
  • 更改已加载页面(同一域)的背景颜色

普通javascript

var iframe = document.getElementsByTagName('iframe')[0];
iframe.style.background = 'white';
iframe.contentWindow.document.body.style.backgroundColor = 'white';

的jQuery

$('iframe').css('background', 'white');
$('iframe').contents().find('body').css('backgroundColor', 'white');

答案 3 :(得分:0)

仅基于Chetabahana编写的内容,我发现在我正在工作的网站上给JS函数添加短暂延迟会有所帮助。这意味着该功能会在iframe加载后启动。您可以随便玩玩。

var delayInMilliseconds = 500; // half a second

setTimeout(function() { 

   var iframe = document.getElementsByTagName('iframe')[0];
   iframe.style.background = 'white';
   iframe.contentWindow.document.body.style.backgroundColor = 'white';

}, delayInMilliseconds);

我希望这会有所帮助!

答案 4 :(得分:0)

有可能。使用香草Javascript,您可以使用下面的功能作为参考。

function updateIframeBackground(iframeId) {
    var x = document.getElementById(iframeId);
    var y = (x.contentWindow || x.contentDocument);
    if (y.document) y = y.document;
    y.body.style.backgroundColor = "#2D2D2D";
}

https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_iframe_contentdocument

答案 5 :(得分:-2)

将iframe放在旁边标签

之间

<aside style="background-color:#FFF"> your IFRAME </aside>