关注我,我会更出色!

posts(4) comments(18) trackbacks(0)
  • 博客园
  • 联系
  • 订阅 订阅
  • 管理

News

昵称:LiGy
园龄:4年6个月
粉丝:0
关注:0

搜索

 

常用链接

随笔分类

  • Ajax.net atlas
  • ASP.NET(2)
  • C#.NET Application
  • CSS DIV
  • DataBase
  • JavaScript(2)

随笔档案

  • 2008年5月 (1)
  • 2007年9月 (1)
  • 2007年8月 (2)

文章分类

  • 技巧集萃(1)
  • 设计模式
  • 数据库编程(1)
  • 用户体验

最新评论

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>
标签: js iframe, html, javascript
绿色通道:好文要顶关注我收藏该文与我联系

posted on 2008-05-21 09:24 LiGy 阅读(629) 评论(3)  编辑 收藏

View Comments

1357953
#1楼  回复 引用   
非常感谢。网上有很多这种类似的东西,但不知为何,试验起来总不成功。这个是真正有效
2008-10-16 10:41 | wayne0719[未注册用户]
#2楼  回复 引用   
不错,好的很
2008-10-19 23:04 | ysn[未注册用户]
#3楼  回复 引用   
太谢谢了!
2008-11-01 10:54 | fuhanw[未注册用户]
注册用户登录后才能发表评论,请 登录 或 注册,返回博客园首页。
首页博问闪存新闻园子招聘知识库
最新IT新闻:
· 报告称当前Linux人才抢手 高薪也难觅
· 谷歌业务大盘点:社交网络令人失望(组图)
· 为程序员和设计师准备的10个流程图
· 一周之内,这个公司推出了三家创业公司
· 三星高层称无需担忧苹果智能电视
» 更多新闻...
最新知识库文章:
· 进入2012 -- 回顾我走过的编程之路
· 如何学习编程
· 学编程关键在动手,提高在实践
· 十年程序员
· HTTP 协议详解
» 更多知识库文章...

China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
 
Powered by:
博客园
Copyright © LiGy