我在與網頁相同的域中有一個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>
所以要確認,你是否在iframe標籤上設置尺寸?當你說「在iframe div」時我很困惑。我的方法是監聽窗口大小調整,然後在事件回調中,將iframe標記上的尺寸設置爲等於主體寬度和主體高度減去標題高度。 – 2012-04-05 10:17:54
您是否試圖用頁面頂部的'iframe'和'80px'部分填充頁面?還是應該'iframe'能夠調整它的父窗口? – Marcel 2012-04-05 10:19:21