2010-02-02 59 views
7

如何讓我的iframe填滿窗口並且不顯示任何滾動條?用iFrame填充窗口而不顯示滾動條?

這適用於IE6,我想獲得它的可能的話所有的瀏覽器:

<iframe name=iframe1 src="theSiteToShow.html" width="100%" height="100%" frameborder="0" marginheight="10" marginwidth="10"></iframe> 
<script type="text/javascript"> 
function resizeIframe() { 
    var height = document.documentElement.clientHeight; 
    height -= document.getElementById('frame').offsetTop; 

    // not sure how to get this dynamically 
    height -= 20; /* whatever you set your body bottom margin/padding to be */ 

    document.getElementById('frame').style.height = height +"px"; 

}; 
document.getElementById('frame').onload = resizeIframe; 
window.onresize = resizeIframe; 
</script> 
+0

使用'框架集'。 ;) – graphicdivine 2010-02-02 15:54:43

回答

19

你應該只能夠做到這一點使用CSS,而不需要任何的JavaScript。在IE6 +,谷歌Chrome和Safari對我來說,以下工作:

<style type="text/css"> 
body { 
    margin: 0; 
    overflow: hidden; 
} 
#iframe1 { 
    position:absolute; 
    left: 0px; 
    width: 100%; 
    top: 0px; 
    height: 100%; 
} 
</style> 

<iframe id="iframe1" name="iframe1" frameborder="0" 
    src="theSiteToShow.html"></iframe> 

你幀的利潤率應該在theSiteToShow.html身體進行設置。

UPDATE
按照您的意見,我用下面的測試頁:

<html> 
<head> 
<style type="text/css"> 
body { 
    margin: 0; 
    overflow: hidden; 
} 
#iframe1 { 
    position:absolute; 
    left: 0px; 
    width: 100%; 
    top: 0px; 
    height: 100%; 
} 
</style> 
</head> 
<body> 
<iframe id="iframe1" src="http://stackoverflow.com" frameborder="0"></iframe> 
</body> 
</html> 

在IE6 +,Chrome瀏覽器,Safari和Firefox測試,它工作得很好,並充滿整個窗口。

+0

iframe不會填滿窗口。它將自己置於左上角的0,0處,大小約爲300x150像素。少了什麼東西?感覺它應該填滿窗戶。 – Zolomon 2010-02-02 13:08:29

+0

@Zolomon:我的代碼適用於IE,Firefox和Chrome。也許你可以複製我編寫的測試代碼,並用它作爲基礎來構建自己的代碼? – 2010-02-02 13:46:23

+0

謝謝你的例子!不知道我的錯在哪裏。 – Zolomon 2010-02-04 12:20:55

0

即使所有這些元素都被禁用,我也遇到了與滾動條相同的問題以及沒有顯示上下文菜單。在試圖解決它們幾天之後,我偶然發現了這篇文章,這有點幫助,但是讓我在三個代碼示例中找到了一篇關於靈活網頁播放器的文章。我這裏還有鏈接:

http://virtualplayground.d2.pl/?p=367#comment-224

Download package

使用索引文件,如果你想要一張白紙,從工作,在導出的.html文件替換現有的代碼(從Unity出口),用您自己的鏈接替換位於服務器上的.html文件的'unityObject.embedUnity'鏈接。

要嵌入使用iframe附加在你的網頁播放器:

裝彈。

希望這會有所幫助。

^_^