2012-04-05 64 views
2

我在與網頁相同的域中有一個iframe。如何使用iframe編寫可調整大小的頁面?

我有,我想保持相同的高度頭(我不知道它是什麼,讓我們說80px),而主體部分包含的iframe,當瀏覽器調整其大小:

----------  -------------- 
| header |  | header | 
----------  -------------- 
| iframe | -> |   | 
|  |  |   | 
|  |  | .... | 
----------  |   | 
        |   | 
        -------------- 

我使用jQuery和試圖在iframe DIV height()css(),但那些不改變iframe的尺寸。 iframe保持相同,很小的默認尺寸。

如果我在iframe CSS中手動指定百分比,然後調整大小,但由於這些是百分比,iframe超出了直接頁面的邊界,並且在足夠高的百分比值將其邊框從屏幕上移開後被切斷。

我需要一些方法來幫助iframe按像素計算自己的邊界,以便它保持在頁面的邊界內。我可以抓住窗口的寬度和高度,但如前所述,應用css()height()從這些值沒有更新iframe的大小。

再次:我正在與iframe在與父頁面相同的域中工作。

我將如何正確代碼頭和iframe調整大小,從而使resize()操作(或調整瀏覽器窗口)的實際工作?

我已經嘗試的代碼是類似以下內容:

<html> 
<head> 
... // load jquery, etc. 
<script> 
function resize() { 
    var w = $('#body').width(); 
    var h = $('#body').height(); 

    $('#header').width(w + "px"); // works 
    $('#header').height("80px"); // works 

    $('#my_iframe').css("width", w + "px"); // doesn't work 
    $('#my_iframe').width(w + "px"); // doesn't work, either 

    $('#my_iframe').css("height", (h-80) + "px"); // doesn't work 
    $('#my_iframe').height((h-80) + "px"); // doesn't work, either 
} 
</script> 
</head> 

<body onresize="resize()" id="body"> 
<div id="header"><div> 
<iframe id="my_iframe" .../> 
</body> 
</html> 
+0

所以要確認,你是否在iframe標籤上設置尺寸?當你說「在iframe div」時我很困惑。我的方法是監聽窗口大小調整,然後在事件回調中,將iframe標記上的尺寸設置爲等於主體寬度和主體高度減去標題高度。 – 2012-04-05 10:17:54

+0

您是否試圖用頁面頂部的'iframe'和'80px'部分填充頁面?還是應該'iframe'能夠調整它的父窗口? – Marcel 2012-04-05 10:19:21

回答

相關問題