(转)用javascript动态调整iframe高度

本文介绍了一个兼容IE/NS/Firefox的JavaScript脚本,用于在内容变化时动态调整Iframe的高度,避免底部长空白或内容被遮挡的问题。

当你在页面上使用了iframe之后,一般来说会不希望iframe显示难看的滚动条,以使iframe里面 的内容和主页面的内容浑然一体。这时候你会设置 scrolling="no" 属性。但是这样一来如果iframe里面的内容是变化的,高度会随之内容的变化而变化的时候,你的iframe就会显得太长导致底下一大片空白,或者正好 相反,由于iframe的高度太小导致一部分内容会被挡住。这里我提供一个兼容IE/NS/Firefox的javascript脚本实现动态调整 iframe的高度。如果需要调整宽度的话,原理是一样的,本文不加详述

首先,在你的主页面上必须包含以下这段javascript代码:

 

 1      < script language = " javascript "  type = " text/javascript " >
 2          var  getFFVersion = navigator.userAgent.substring(navigator.userAgent.indexOf( " Firefox " )).split( " / " )[ 1 ]
 3          // extra height in px to add to iframe in FireFox 1.0+ browsers   
 4          var  FFextraHeight = getFFVersion >= 0.1 ?   16  :  0   
 5          function  dyniframesize(iframename)
 6          {
 7              var  pTar  =   null ;
 8              if  (document.getElementById)
 9              {
10                 pTar  =  document.getElementById(iframename); 
11             }

12              else
13              {  
14                 eval( ' pTar =  '   +  iframename  +   ' ; ' ); 
15             }

16              if  (pTar  &&   ! window.opera)
17              {
18                  // begin resizing iframe
19                 pTar.style.display = " block "  
20                  if  (pTar.contentDocument  &&  pTar.contentDocument.body.offsetHeight)
21                  {
22                      // ns6 syntax 
23                     pTar.height  =  pTar.contentDocument.body.offsetHeight + FFextraHeight;
24                 }

25                  else   if  (pTar.Document  &&  pTar.Document.body.scrollHeight)
26                  {
27                      // ie5+ syntax 
28                     pTar.height  =  pTar.Document.body.scrollHeight;
29                 }

30             }

31         }
 
32      < / script>

然后对于主页面用到iframe的地方添加代码:

1 < iframe  id ="OrderFrame"  src ="MyOrders.aspx"  marginwidth =0  marginheight =0  width =200 
height =100  frameborder =0  scrolling =no  onload ="javascript:{dyniframesize('OrderFrame');}" ></ iframe >

 

 

链接地址:http://www.cnblogs.com/agloat/articles/1203747.html#1357953

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值