用javascript动态调整iframe高度的代码

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

     首先,在你的主页面上必须包含以下这段javascript代码:
<script language="Javascript">
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
//extra height in px to add to iframe in FireFox 1.0+ browsers
var FFextraHeight=getFFVersion>=0.1? 16 : 0 

function dyniframesize(iframename) {
var pTar = null;
if (document.getElementById){
pTar = document.getElementById(iframename);
}
else{
eval('pTar = ' + iframename + ';');
}
if (pTar && !window.opera){
//begin resizing iframe
pTar.style.display="block"

if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){
//ns6 syntax
pTar.height = pTar.contentDocument.body.offsetHeight+FFextraHeight; 
}
else if (pTar.Document && pTar.Document.body.scrollHeight){
//ie5+ syntax
pTar.height = pTar.Document.body.scrollHeight;
}
}
}
</script>
然后对于主页面用到iframe的地方添加代码:
<iframe id="myTestFrameID" 
onload="javascript:{dyniframesize('myTestFrameID');}" 
marginwidth=0 marginheight=0 frameborder=0 
scrolling=no src="/myiframesrc.php" 
width=200 height=100></iframe>

相关文章

  • Javascript变量的作用域和作用域链详解

    Javascript变量的作用域和作用域链详解

    这篇文章主要介绍了Javascript变量的作用域和作用域链详解,本文用一个实例和运行结果来讲解这两个知识,需要的朋友可以参考下
    2015-04-04
  • 微信小程序实现的3d轮播图效果示例【基于swiper组件】

    微信小程序实现的3d轮播图效果示例【基于swiper组件】

    这篇文章主要介绍了微信小程序实现的3d轮播图效果,结合实例形式分析了微信小程序基于swiper组件相关属性设置、事件响应操作技巧,需要的朋友可以参考下
    2018-12-12
  • js获取会话框prompt的返回值的方法

    js获取会话框prompt的返回值的方法

    这篇文章主要介绍了js获取会话框prompt的返回值的方法,通过一个简单的密码判断实例分析了js获取会话框prompt返回值的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-01-01
  • 关于TypeScript模块导入的那些事

    关于TypeScript模块导入的那些事

    Typescrit的模块机制与es6的模块基本类似,也提供了转换为amd,es6,umd,commonjs,system的转换,下面这篇文章就来给大家详细介绍了关于TypeScript模块导入的那些事,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-06-06
  • js 父窗口控制子窗口的行为-打开,关闭,重定位,回复

    js 父窗口控制子窗口的行为-打开,关闭,重定位,回复

    技术要点可以利用windows的open和closed来对子窗口的控制,需要父窗口和子窗口之间进行互动。
    2010-04-04
  • 不依赖Flash和任何JS库实现文本复制与剪切附源码下载

    不依赖Flash和任何JS库实现文本复制与剪切附源码下载

    本篇文章给大家分享的文本复制与剪切板功能,实现此功能不依赖falsh插件和任何js库实现的,感兴趣的朋友一起看看吧
    2015-10-10
  • 原生js实现轮播图

    原生js实现轮播图

    这篇文章主要为大家详细介绍了原生js实现轮播图的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • JS实现移动端整屏滑动的实例代码

    JS实现移动端整屏滑动的实例代码

    本文通过实例代码给大家分享了基于js 实现移动端整屏滑动效果,基本思路是检测手指滑动方向,获取手指抬起时的位置,减去手指按下时的位置,得正即为向下滑动了,具体实现代码大家参考下本文
    2017-11-11
  • 浅谈JS之tagNaem和nodeName

    浅谈JS之tagNaem和nodeName

    下面小编就为大家带来一篇浅谈JS之tagNaem和nodeName。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • JavaScript中数据结构与算法(二):队列

    JavaScript中数据结构与算法(二):队列

    这篇文章主要介绍了JavaScript中数据结构与算法(二):队列,队列是只允许在一端进行插入操作,另一个进行删除操作的线性表,队列是一种先进先出(First-In-First-Out,FIFO)的数据结构,需要的朋友可以参考下
    2015-06-06

最新评论