`
liudaoru
  • 浏览: 1576012 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iframe高度自适应

    博客分类:
  • Ajax
阅读更多
调整iframe的高度使之不出现滚动条是很常见的需求,原来一直用一个函数,后来发现封装的不太好,于是今天优化了一下。

主要的问题是获取iframe本身元素以及获取iframe中文档对象的区别,获取iframe元素只需要用document.getElementById(frameId);,而获取获取文档对象则需要window.frames[frameName].document的方式来获取。

所有针对iframe元素的操作都可以直接过去元素,而与iframe内容相关的各种操作,如获取所包含文档中的一个js变量,要先获取window对象,然后才能执行操作。

/*
 * 调整iframe的高度以适应所引用网页的高度
 */
function iframeResize(frameId, frameName) {
    var dyniframe   = null;
    var indexwin    = null;
    if (document.getElementById){
        if(!frameId) {
        	frameId = "contentFrame";
            frameName = "contentFrame";
        }
        dyniframe       = document.getElementById(frameId);
        indexwin        = window;
        if (dyniframe){
            var contentHeight = window.frames[frameName].document.body.scrollHeight;
            dyniframe.height = (!contentHeight || contentHeight < 600) ? 600 : contentHeight;
        }
    }
}     
1
1
分享到:
评论
3 楼 liudaoru 2008-10-31  
	/*
	 * 调整iframe的高度以适应所引用网页的高度
	 */
	function iframeResize(frameId, frameName) {
	    var dyniframe   = null;
	    var indexwin    = null;
	    if (document.getElementById){
	        if(!frameId) {
	        	frameId = "contentFrame";
	            frameName = "contentFrame";
	        }
	        dyniframe       = document.getElementById(frameId);
	        indexwin        = window;
	        if (dyniframe){
				  var contentHeight, win = indexwin.frames[frameName];  
				  if (win.innerHeight && win.scrollMaxY) {  
				    contentHeight = win.innerHeight + win.scrollMaxY;
				  } else if (win.document.body.scrollHeight > win.document.body.offsetHeight){ // all but Explorer Mac
				    contentHeight = win.document.body.scrollHeight + 20;
				  } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
				    contentHeight = win.document.body.offsetHeight;
				  }
	            dyniframe.height = (!contentHeight || contentHeight < 400) ? 400 : contentHeight;
	        }
	    }
	}     

2 楼 liudaoru 2008-09-11  
呵呵,谢谢补充。。。。
1 楼 goagrass 2008-09-08  
iframe自适应高度及其演示实例
http://www.cssplay.org.cn/xhtml-tutorial/20080908/763.html

相关推荐

    Iframe 高度自适应,js控制Iframe 高度自适应.docx

    "Iframe 高度自适应,js 控制 Iframe 高度自适应" Iframe 高度自适应是指在网页中嵌入的 iframe 元素能够根据其内容自动调整高度,以适应不同的浏览器和屏幕尺寸。js 控制 Iframe 高度自适应是指使用 JavaScript ...

    Iframe 高度自适应浏览器高度

    这种技术常被用来实现...以上就是关于“Iframe高度自适应浏览器高度”的主要知识点,实践中可能需要结合具体场景和需求选择合适的方法。在实际应用中,还要考虑到兼容性问题,确保在不同浏览器和设备上都能正常工作。

    iframe高度自适应代码及演示页面

    iframe高度自适应代码及演示页面。 适合新手,用到iframe,并且需要高度自适应的人士。 老手自动绕行,又没什么技术含量。。。 解压之后,打开iframe-auto.html之后查看效果. 如果不能查看,检查是否允许执行js

    iframe高度自适应.pdf

    ### iframe高度自适应技术详解 在网页开发过程中,经常会遇到需要在一个页面中嵌入另一个页面的需求,这通常通过HTML的`iframe`元素实现。然而,一个常见的问题是当嵌入的内容高度变化时,如何使`iframe`的高度能够...

    jsp页面iframe高度自适应的js代码.docx

    jsp 页面 iframe 高度自适应的 js 代码详解 jsp 页面 iframe 高度自适应的 js 代码是指在 jsp 页面中使用 iframe 元素,並且使其高度能够自适应内容的高度。这种技术在实际应用中非常有用,例如在某些网页中,我们...

    iframe页面的高度iframe高度自适应

    iframe包含的页面的高度,兼容性好,iframe高度自适应

    用jquery实现iframe高度自适应实例代码完美兼容多数浏览器

    用jQuery实现iframe高度自适应 &lt;script src="https://code.jquery.com/jquery-3.6.0.min.js"&gt;&lt;/script&gt; $(document).ready(function() { function resizeIframe() { var iframe = $('#myIframe'); if ...

    iframe高度自适应 js

    ### iframe高度自适应JS知识点详解 #### 一、概述 在网页开发中,经常会遇到需要将一个页面嵌入到另一个页面中的场景,这时就需要用到`&lt;iframe&gt;`标签。但是,默认情况下,`&lt;iframe&gt;`的高度是固定的,这往往会导致...

    iframe内容高度 iframe自适应高度终极解决Iframe设置高度后无法缩小问题

    然而,`&lt;iframe&gt;`的高度自适应问题常常困扰着开发者,尤其是当`&lt;iframe&gt;`内部的内容动态加载或者变化时,如何让`&lt;iframe&gt;`自动调整其高度以适应内容,而不会导致滚动条溢出或内容被截断,成为了一个常见需求。...

    iFrame高度自适应终极解决方案(兼容IE7,8,9 Firefox3.6+,Chrome 12+)

    "iFrame高度自适应终极解决方案(兼容IE7,8,9 Firefox3.6+,Chrome 12+)"这个标题所指向的,就是一种跨浏览器的策略,确保iFrame内容无论何时更新,都能自动调整其高度,从而避免滚动条的出现和内容溢出。...

    完整可行、浏览器兼容、通过测试的Iframe高度自适应程序

    1. **Iframe高度自适应原理** - 通常,Iframe的高度是由其内容决定的,但浏览器默认并不会自动更新其高度以适应内容的变化。为了解决这个问题,我们需要编写JavaScript代码来检测Iframe内部页面的加载状态,并根据...

    可编辑iframe高度自适应(编辑器所见即所得模式)

    标题提到的“可编辑iframe高度自适应”问题,主要涉及如何确保`iframe`的高度能根据其内容动态调整,从而提供良好的用户体验,避免滚动条的出现或页面布局的混乱。`iframe`高度自适应是解决这个问题的关键技术。 ...

    Iframe高度自适应(兼容IE/Firefox、同域/跨域)

    "Iframe高度自适应(兼容IE/Firefox、同域/跨域)"这一主题是关于如何让内嵌在Iframe中的页面能够根据其内容动态调整自身的高度,确保在不同浏览器(如IE和Firefox)以及处理同域和跨域情况时都能正常显示。...

    iframe高度自适应,多浏览器兼容

    `iframe`的使用涉及到许多关键点,尤其是高度自适应和多浏览器兼容性,这在实际项目中至关重要。本篇文章将详细讲解如何实现`iframe`的高度自适应以及在不同浏览器之间的兼容性处理。 一、`iframe`基本使用 `iframe...

    iframe自动适应高度(完美自适应高度嵌套代码),兼容目前主流浏览器。

    标题提到的“iframe自动适应高度(完美自适应高度嵌套代码)”提供了一个解决方案,它能够确保`iframe`在各种主流浏览器中都能正确地自适应内容高度,包括360浏览器、IE6-9、遨游、火狐以及搜狗浏览器。 在传统的`...

    js实现iframe自适应高度

    这个简单的JavaScript解决方案能帮助我们实现`iframe`的高度自适应,使得内容始终完全显示,避免滚动条的出现。然而,实际应用中可能还会遇到其他复杂情况,如延迟加载、动态插入的`iframe`等,这时可能需要结合更多...

    iframe跨域自适应高度模板

    同时,`iframe`内容的动态加载可能使得其高度不固定,如果不能自适应高度,可能会导致页面布局出现问题。本模板将介绍如何处理`iframe`的跨域和自适应高度这两个关键问题。 首先,让我们了解`iframe`跨域。由于同源...

Global site tag (gtag.js) - Google Analytics