我在与网页相同的域中有一个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