如何利用子窗口控制父窗口iframe的高度

1. 在项目中用到了iframe,但是iframe里面的内容并不能确定有多长.
如:你的iframe包含的页面里面有分页,平均每页10条记录,到最后一页的时候只有2条,
由于iframe在正常情况下是不能指定其高度为100%的,这时候应该怎么办呢?
    告诉你,你现在再也不用为这个烦恼了,一句简单的javascript就帮你搞定这个问题.

例:
parent.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>iframeTest</title>
</head>
<body bgcolor="#FFFFCC">
<iframe name="iframeTest" src="iframe.html" ></iframe>
</body>
</html>

iframe.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>iframe</title>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<!-- html内容 -->
<script>
parent.document.all.iframeTest.height = document.body.scrollHeight;
</script>
</body>
</html>

注意两个html中的粗体部分即可.

2.现在的问题是当frame2.htm显示的内容很长时,有些内容看不到;如何做到该网页随iframe中嵌入的网页内容长度自动出现滚动条,并且这滚动条不是出现在iframe中
<table width="99%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
    <td colspan="2"><iframe frameborder=no
             marginheight=0 marginwidth=0 name=schistory scrolling=no
            src="frame2.htm" width=100%> </iframe></td>
</tr>
</table>


处理1:
你这个属于让iframe的子页面决定父页面的高度。
写javascript吧。
<script language="Javascript">
function window.onload()
{
parent.document.all("mainFrame").style.height=document.body.scrollHeight+670;
}
</script>
写在iframe调用的子页面里面
后面的670是父页面比子页面高的高度

<script language="javascript">
parent.document.getElementById(mainFrame).height = '200px';
</script>

直接设置页面大小。

3.如何动态控制IFrame的长和宽

主页面要放置一个IFrame用于嵌套显示子页面的信息,但是子页面的数据多少不一,导致子页面可能会很长或很短,要动态控制IFrame的高低随子页面的长短而变化。
主页面如下:
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY >
<TABLE>
    <TR>
<TD>
   <iframe id="frmTest" height="100px" name="frmTest" src="in.html"></iframe>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>

子页面只需要做如下处理即可:
在页面的最下端添加如下JS脚本:
<script language=javascript>
window.parent.document.all("frmTest").style.height = document.body.scrollHeight + 10;
</script>

其中frmTest即为Main页面的IFrame的ID。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值