我在iframe
内的主页上显示的页面很少。
我在主页面上有一个背景图片,当我点击按钮更改框架内的页面时,框架背景颜色变为白色,直到页面可见。
我将background-color:transpert
添加到页面本身和主页CSS。
我使用FireFox和IE检查了网站,它看起来很好(框架的背景不会改变)但是使用Chrome时,它的呈现效果很好,就像我想要的那样,有时候iframe背景会变成白色。
我可以做任何能解决问题的事吗?
答案 0 :(得分:3)
由于这是浏览器行为,我怀疑它可以真正“修复”。
一种解决方法是在加载框架时隐藏框架(仅适用于Chrome) - 以下是代码:
var isChrome = (navigator.userAgent.indexOf("Chrome") >= 0);
function LoadFrame(url) {
var oFrame = document.getElementById("myframe");
if (isChrome) {
oFrame.style.visibility = "hidden";
oFrame.onload = function() {
oFrame.style.visibility = "visible";
};
}
oFrame.src = url;
}
Live test case。 (在那里重新加载相同的框架,但概念是相同的)
答案 1 :(得分:1)
更改是iframe中的页面在父窗口中找到iframe并再次显示:
<iframe style="visibility: hidden;" id="iframe_id" src="my_page.html" />
// inside my_page.html:
window.onload = function() {
// make sure the parent iframe is visible
if (window.parent)
{
var nodeIframe = window.parent.document.getElementById(window.name);
if (nodeIframe)
{
nodeIframe.style.visibility = "visible";
}
}
};