iframe高度自适应,兼容IE,FF

作者:welcome58 来源:缘由心生 时间:2008-06-18 12:15:00 

有时在项目中会遇到通过在页面中采用iframe的方式include其它页面,这时就会考虑不要因出现滚动条而影响页面效果,但include页面的内容高度是未知的,所以大家都会利用javascript来解决这个高度自适应的问题。

在网上曾看见过解决此问题的代码,不过拷贝到本地进入调试时有些不正常,在IE下无法正确获得嵌套页面的高度,通过各种尝试,最终代码如下

<script type="text/javascript"> 
 function SetCwinHeight(iframeObj){ 
  if (document.getElementById){ 
   if (iframeObj && !window.opera){ 
    if (iframeObj.contentDocument && iframeObj.contentDocument.body.offsetHeight){ 
     iframeObj.height = iframeObj.contentDocument.body.offsetHeight; 
    }else if(document.frames[iframeObj.name].document && document.frames[iframeObj.name].document.body.scrollHeight){ 
     iframeObj.height = document.frames[iframeObj.name].document.body.scrollHeight; 
    } 
   } 
  } 
 } 
 </script> 
 <iframe width="100%" name="frameContent" onload="SetCwinHeight(this)" frameborder="0" src="*"></iframe>

扩展:

在一个页面含有某个iframe,其id="myframe" name="myframe",此时使用document.getElementById("myframe")取到的是iframe标签对象,通过该对象可以获取iframe的各个属性,例如src、frameborder、style等等,但是不能获取到iframe所包含的子页面的各个对象。如果使用document.frames("myframe")取到的是iframe组件对象,通过该对象可以获取到iframe所包含的页面的子页面的各个对象,例如子页面的window对象,但是不能获得iframe标签得各个属性,例如上面说到的src等等。

标签:Firefox,IE,iframe,自适应
0
投稿

猜你喜欢

  • python动态文本进度条的实例代码

    2021-11-15 02:11:50
  • SQL Server索引设计基础知识详解使用

    2024-01-19 01:11:31
  • Python生成8位随机字符串的方法分析

    2023-06-15 20:53:08
  • JavaScript 基础问答 四

    2024-04-18 10:52:09
  • 从0到1构建vueSSR项目之路由的构建

    2024-05-09 09:52:33
  • TypeScript中命名空间与模块化详情

    2024-04-25 13:11:23
  • python中加背景音乐如何操作

    2023-11-09 02:54:51
  • ASP幻灯片

    2009-09-04 18:05:00
  • python在linux环境下安装skimage的示例代码

    2023-05-24 12:57:25
  • js保存当前路径(cookies记录)

    2024-06-21 06:44:16
  • Python使用背景差分器实现运动物体检测

    2023-06-21 09:37:22
  • 应用OpenCV和Python进行SIFT算法的实现详解

    2022-05-16 05:42:00
  • 特殊字符、常规符号及其代码对照表

    2010-08-24 18:13:00
  • Python如何自动获取目标网站最新通知

    2021-07-14 18:18:16
  • python实现批量修改文件名

    2022-03-10 18:44:54
  • 解决python中显示图片的plt.imshow plt.show()内存泄漏问题

    2023-03-08 23:33:16
  • 关于文件命名

    2009-09-18 16:29:00
  • 如何用METADATA替换ADOVBS.INC?

    2010-06-12 12:54:00
  • python版百度语音识别功能

    2023-02-28 09:56:34
  • pyqt5打包成exe可执行文件的方法

    2022-02-09 11:25:57
  • asp之家 网络编程 m.aspxhome.com