• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

关注我,我会更出色!

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

用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>

posted on 2008-05-21 09:24  LiGy  阅读(2400)  评论(3)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3