用javascript动态调整iframe高度的方法

 更新时间:2007年03月06日 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"

相关文章

  • Javascript中的函数声明与函数表达式(奇技淫巧)

    Javascript中的函数声明与函数表达式(奇技淫巧)

    Javascript有很多有趣的用法,在Google Code Search里能找到不少,今天从火丁笔记看到的,非常不错,推荐大家看下。
    2011-03-03
  • JavaScript 图像动画的小demo

    JavaScript 图像动画的小demo

    深夜没睡着,起来翻了翻《JavaScript权威指南》这本书,看了下图形动画的demo,学习学习了
    2012-05-05
  • JS实现的JSON序列化操作简单示例

    JS实现的JSON序列化操作简单示例

    这篇文章主要介绍了JS实现的JSON序列化操作,结合简单实例形式分析了json序列化操作相关实现方法与相关注意事项,代码备有较为详尽的注释便于理解,需要的朋友可以参考下
    2018-07-07
  • 6行代码实现微信小程序页面返回顶部效果

    6行代码实现微信小程序页面返回顶部效果

    这篇文章主要为大家详细介绍了6行代码实现微信小程序页面返回顶部效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • DOM 事件的深入浅出(一)

    DOM 事件的深入浅出(一)

    本文主要介绍了不同DOM级别下的事件处理程序,同时介绍了事件冒泡和捕获的触发原理和方法。熟练地使用不同级别的DOM事件并且解决相应的浏览器兼容性问题对我们的前端项目开发会很有帮助。
    2016-12-12
  • ES6 proxy和reflect的使用方法与应用实例分析

    ES6 proxy和reflect的使用方法与应用实例分析

    这篇文章主要介绍了ES6 proxy和reflect的使用方法,结合具体实例形式分析了ES6 proxy和reflect基本功能、原理、使用方法与操作注意事项,需要的朋友可以参考下
    2020-02-02
  • 纯 JS 实现放大缩小拖拽功能(完整代码)

    纯 JS 实现放大缩小拖拽功能(完整代码)

    这篇文章主要介绍了纯js实现放大缩小拖拽功能,文中给大家提到了在开发过程中遇到的一些问题及解决方法,需要的朋友可以参考下
    2019-11-11
  • uni-app弹出层uni-popup使用及修改默认样式的方法实例

    uni-app弹出层uni-popup使用及修改默认样式的方法实例

    我们在使用uniapp开发的时候,有时可以使用uniapp自有的样式模板,这样可以提高开发效率,下面这篇文章主要给大家介绍了关于uni-app弹出层uni-popup使用及修改默认样式的相关资料,需要的朋友可以参考下
    2022-11-11
  • javascript中Math.random()使用详解

    javascript中Math.random()使用详解

    Math.random() 这个方法相信大家都知道,是用来生成随机数的。不过一般的参考手册时却没有说明如何用这个方法来生成指定范围内的随机数。这次我就来详细的介绍一下Math.random(),以及如何用它来生成制定范围内的随机数。
    2015-04-04
  • javascript实现捕捉键盘上按下的键

    javascript实现捕捉键盘上按下的键

    JavaScript取得按下键盘的键是哪个,通过创建一个event.keyCode对象,可有效获取键盘上的键,运行代码后,点击键盘上的任意键,网页上显示你按下的是哪个键。
    2015-05-05

最新评论