让iframe自适应高度(支持XHTML,支持FF)


Posted in Javascript onJuly 24, 2007

先说明,这个办法只限于iframe中的子页面也是本地页面(不能引用外网页面)

======方法=====
第一步 js部分

function getSize() {
       var xScroll, yScroll;       
       if (window.innerHeight && window.scrollMaxY) {       
              xScroll = document.body.scrollWidth;
              yScroll = window.innerHeight + window.scrollMaxY;
       } else if (document.body.scrollHeight > document.body.offsetHeight){       // all but Explorer Mac
              xScroll = document.body.scrollWidth;
              yScroll = document.body.scrollHeight;
       } else {       // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
              xScroll = document.body.offsetWidth;
              yScroll = document.body.offsetHeight;
       }

       var windowWidth, windowHeight;
       if (self.innerHeight) {       // all except Explorer
              windowWidth = self.innerWidth;
              windowHeight = self.innerHeight;
       } else if (document.documentElement && document.documentElement.clientHeight) {       // Explorer 6 Strict Mode
              windowWidth = document.documentElement.clientWidth;
              windowHeight = document.documentElement.clientHeight;
       } else if (document.body) {       // other Explorers
              windowWidth = document.body.clientWidth;
              windowHeight = document.body.clientHeight;
       }       

       // for small pages with total height less then height of the viewport
       if(yScroll < windowHeight){
              pageHeight = windowHeight;
              y = pageHeight;
       } else { 
              pageHeight = yScroll;
              y = pageHeight;
       }

       if(xScroll < windowWidth){       
              pageWidth = windowWidth;
       } else {
              pageWidth = xScroll;
       }

       arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
       return arrayPageSize;
}
这段代码用来获取目标页的参数,包括页面高、宽,屏幕高、宽

function autoHeight(pid) {
       var x = new getSize();
       parent.document.getElementById(pid).height=x[1];
}
这段代码用来实现父页面中iframe的高度自适应

\\\\\\\\\\

第二步 页面部分

<div class="onright" style="width:480px;"><iframe id="infrm" name="infrm" marginwidth="0" marginheight="0" width="100%" src="park.htm" frameborder="0" scrolling="auto"></iframe>
这是父页面的iframe,没什么特别的,和普通的iframe一样,不过要设置好id值,以便子页面的参数调用。

<body onload="autoHeight('infrm')"></body>
在body中利用onload事件,将自身的高度传给父页面的iframe。

Javascript 相关文章推荐
把jQuery的类、插件封装成seajs的模块的方法
Mar 12 Javascript
js用typeof方法判断undefined类型
Jul 15 Javascript
JS实现图片放大镜效果的方法
Feb 27 Javascript
js实现两点之间画线的方法
May 12 Javascript
JavaScript判断undefined类型的正确方法
Jun 30 Javascript
JavaScript实现节点的删除与序号重建实例
Aug 05 Javascript
详解 javascript中offsetleft属性的用法
Nov 11 Javascript
Angularjs过滤器使用详解
May 25 Javascript
JavaScript实现简单的日历效果
Sep 25 Javascript
基于JavaScript实现熔岩灯效果导航菜单
Jan 04 Javascript
详解如何使用webpack打包Vue工程
May 27 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
Nov 02 Javascript
一个JS翻页效果
Jul 23 #Javascript
XML的代替者----JSON
Jul 21 #Javascript
js右键菜单效果代码
Jul 21 #Javascript
$()JS小技巧
Jul 21 #Javascript
IE 缓存策略的BUG的解决方法
Jul 21 #Javascript
用JS实现的一个include函数
Jul 21 #Javascript
代码精简的可以实现元素圆角的js函数
Jul 21 #Javascript
You might like
php在数组中查找指定值的方法
2015/03/17 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
js实现方块上下左右移动效果
2017/08/17 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
JS实现手风琴特效
2020/11/08 Javascript
自己使用总结Python程序代码片段
2015/06/02 Python
python实现中文分词FMM算法实例
2015/07/10 Python
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
python魔法方法-自定义序列详解
2016/07/21 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
python实现微信接口(itchat)详细介绍
2017/10/23 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
python3个性签名设计实现代码
2018/06/19 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
python 下划线的不同用法
2020/10/24 Python
Python datetime模块的使用示例
2021/02/02 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
某个公司的Java笔面试题
2016/03/11 面试题
大学生开西餐厅创业计划书
2014/02/01 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
2015年入党积极分子培养考察意见
2015/08/12 职场文书
MySQL利用UNION连接2个查询排序失效详解
2021/11/20 MySQL
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers