2015-01-09 60 views
1

我试图加载冰的iframe中,这显示其导航栏的事,但奇怪的发生。当我打开这个它不显示导航栏,但搜索栏,但如果我改变(在Chrome检查)的hieght从35px到3500px,然后回到35px。它显示了导航栏。IFRAME犯规显示正确的框架

<iframe src="http://www.bing.com/" scrolling="no" style="border: 0px none; position:absolute; left=0px; top=0px; margin-top: 0px; z-index:0; width:1700px; height:35px;"></iframe> 

任何人都有想法,为什么会发生? 谢谢!

+0

你可以提供一个小提琴? http://jsfiddle.net/ 在这里您可以发布您的HTML,CSS,和JS,我们可以在这来看看在实际环境中 –

+0

@ gibsonman507你可以在这里http://jsfiddle.net/试试吧fb1da102 /它看起来像bing中的JavaScript正在触发页面加载,将搜索栏移动到页面的顶部。 – mattytommo

+0

谢谢。这里是。 http://jsfiddle.net/1entzqvg/ 但这里所发生的是,当我运行它,因此刷新页面在浏览器中发生了什么didnt发生在这里。我编辑我的问题,因此会更清楚 –

回答

2

它看起来像有一些JavaScript上兵认为,在动搜索栏顶端上的页面加载。

看来你可以避开这个由默认的CSS隐藏的iframe,然后使用显示在文档准备它的jQuery:

<iframe src="http://www.bing.com/" scrolling="no" style="border: 0px none; 
    position:absolute; left:0px; top:0px; margin-top: 0px; z-index:0; width:1700px; 
    height:35px; display: none;"> 
</iframe> 

$(function() { 
    $("iframe").show(); 
}); 

DEMO

+0

谢谢!真的帮了我 –

+0

@marcopolo不用担心,我可以帮忙,有点奇怪。 – mattytommo

0

你需要在这里使用一些JavaScript和最初的隐藏似乎是最好的前进方向。您可以通过听取load事件iframe的做纯JavaScript和然后显示它:

document.getElementById('f').addEventListener('load', function() { 
 
    document.getElementById('f').style.display = ''; 
 
});
<iframe id="f" src="http://www.bing.com/" scrolling="no" style="border: 0px none; position:absolute; left=0px; top=0px; margin-top: 0px; z-index:0; width:1700px; height:35px; display:none;"></iframe>

+0

也谢谢! –