再谈iframe自适应高度 By 大米
2010-08-01 09:40
302 查看
这贴比较长,没有耐性的朋友请直接拖到帖子末尾的代码示例,或者直接去玩我提供的Demo。
Demo页面:主页面 iframe_a.html ,被包含页面 iframe_b.htm 和 iframe_c.html
下面开始讲:
通过Google搜索iframe 自适应高度,结果5W多条,搜索iframe 高度自适应,结果2W多条。
我翻了前面的几十条,刨去大量的转载,有那么三五篇是原创的。而这几篇原创里面,基本上只谈到如何自适应静的东西,就是没有考虑到JS操作DOM之后,如何做动态同步的问题。另外,在兼容性方面,也研究的不彻底。
这篇文章,希望在这两个方面再做一些深入。
可能有人还没接触到这个问题过,先说明一下,什么是自适应高度吧。所谓iframe自适应高度,就是,基于界面美观和交互的考虑,隐藏了iframe的border和scrollbar,让人看不出它是个iframe。如果iframe始终调用同一个固定高度的页面,我们直接写死iframe高度就可以了。而如果iframe要切换页面,或者被包含页面要做DOM动态操作,这时候,就需要程序去同步iframe高度和被包含页的实际高度了。
顺便说下,iframe在迫不得已的时候才去用,它会给前端开发带来太多的麻烦。
传统做法大致有两个:
方法一,在每个被包含页在本身内容加载完毕之后,执行JS取得本页面的高度,然后去同步父页面的iframe高度。
方法二,在主页面iframe的onload事件中执行JS,去取得被包含页的高度内容,然后去同步高度。
在代码维护角度考虑,方法二是优于方法一的,因为方法一,每个被包含页都要去引入一段相同的代码来做这个事情,创建了好多副本。
两个方法都只处理了静的东西,就是只在内容加载的时候执行,如果JS去操作DOM引起的高度变化,都不太方便。
如果在主窗口做一个Interval,不停的来获取被包含页的高度,然后做同步,是不是即方便,又解决了JS操作DOM的问题了呢?答案是肯定的。
Demo页面:主页面 iframe_a.html ,被包含页面 iframe_b.htm 和 iframe_c.html
主页面代码示例:
This entry was posted on 星期三, 五月 7th, 2008 at 1:42 下午 and is filed under 前端开发. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Demo页面:主页面 iframe_a.html ,被包含页面 iframe_b.htm 和 iframe_c.html
下面开始讲:
通过Google搜索iframe 自适应高度,结果5W多条,搜索iframe 高度自适应,结果2W多条。
我翻了前面的几十条,刨去大量的转载,有那么三五篇是原创的。而这几篇原创里面,基本上只谈到如何自适应静的东西,就是没有考虑到JS操作DOM之后,如何做动态同步的问题。另外,在兼容性方面,也研究的不彻底。
这篇文章,希望在这两个方面再做一些深入。
可能有人还没接触到这个问题过,先说明一下,什么是自适应高度吧。所谓iframe自适应高度,就是,基于界面美观和交互的考虑,隐藏了iframe的border和scrollbar,让人看不出它是个iframe。如果iframe始终调用同一个固定高度的页面,我们直接写死iframe高度就可以了。而如果iframe要切换页面,或者被包含页面要做DOM动态操作,这时候,就需要程序去同步iframe高度和被包含页的实际高度了。
顺便说下,iframe在迫不得已的时候才去用,它会给前端开发带来太多的麻烦。
传统做法大致有两个:
方法一,在每个被包含页在本身内容加载完毕之后,执行JS取得本页面的高度,然后去同步父页面的iframe高度。
方法二,在主页面iframe的onload事件中执行JS,去取得被包含页的高度内容,然后去同步高度。
在代码维护角度考虑,方法二是优于方法一的,因为方法一,每个被包含页都要去引入一段相同的代码来做这个事情,创建了好多副本。
两个方法都只处理了静的东西,就是只在内容加载的时候执行,如果JS去操作DOM引起的高度变化,都不太方便。
如果在主窗口做一个Interval,不停的来获取被包含页的高度,然后做同步,是不是即方便,又解决了JS操作DOM的问题了呢?答案是肯定的。
Demo页面:主页面 iframe_a.html ,被包含页面 iframe_b.htm 和 iframe_c.html
主页面代码示例:
This entry was posted on 星期三, 五月 7th, 2008 at 1:42 下午 and is filed under 前端开发. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
相关文章推荐
- 再谈iframe自适应高度 By 大米
- 三谈Iframe自适应高度 By 由校
- 简单的iframe自适应高度和宽度
- 利用js让iframe框架自适应网页高度
- iframe里面内容高度自适应
- iframe自适应宽度和高度
- 使用javascript实现Iframe自适应高度
- javascript解决iframe框架页面自适应高度问题
- iframe 高度自适应
- iframe高度自适应bylin49940
- iframe随内容页的高度自适应变化
- 再谈iframe自适应高度
- IFrame 根据内容自适应高度
- iframe自适应高度 (转)
- iframe 自适应高度
- iframe高度自适应
- iframe高度自适应、载入完成事件
- 两段超简单jquery代码解决iframe自适应高度问题(不用判断浏览器高度)
- 小tip:iframe高度动态自适应
- Iframe自适应高度