`

多个iframe自适应高度共用一个滚动条

阅读更多
我在一个页面中有两个iframe,这两个是并列的,一个在左边显示person的数据,一个在右边显示cell的数据,如果被引用的页面数据太大,就会被截掉,但是设置scrolling=“auto”的话,双会出现两个滚动条。在网上查了一下代码,大概有两种方式可以实现

方法一.被引用的页面是静态的高度

js代码
	
//获取被包含的页面的静态高度,来设置iframe的高度
	function setFirstIframeHeight(value){
	if(value=="person"){
	     var personHeight = jQuery('#person').contents().find("meta").attr("content");  
	     jQuery('#person').height(personHeight);
	 }else if(value=="cell"){
	     var cellHeight = jQuery('#cell').contents().find("meta").attr("content");  
	     jQuery('#cell').height(cellHeight);
	  }    
	}


主页面代码
<table class="result" width="100%" cellpadding="0" cellspacing="0">
			<tr>
		    	<td width="49%">
		        	<iframe name="person" id="person" frameborder="0"
				onload="setFirstIframeHeight('person')" scrolling="no" width="100%" height="500">
						</iframe>
		        </td>
		        <td width="2%">&nbsp;</td>
		        <td width="49%">
		        	<iframe name="cell" id="cell" frameborder="0" 
			onload="setFirstIframeHeight('cell')" scrolling="no" width="100%" height="500">
						</iframe>
		        </td>
		    </tr>
</table>

被引用的页面中要加入:
<meta content="text/html; charset=UTF-8; 750px"/>


实现原理是,当主页面中的iframe在加载的时候,调用onload里面的js代码,获取被引入页面的高度,并把这个高度值赋给iframe,这样当被引入的页面的高度超过iframe的高度时,就会在两个iframe的外面出现滚动条

但是这个方法不能获取未知高度的子页面的height值,当被引入的页面高度不能用content:xxxpx来表示时,这个方法就不适用了,于是出现了第二种方法



方法二、利用Interval来实现
<table class="result" width="100%" cellpadding="0" cellspacing="0"> 
<tr> 
    <td width="49%"> 
        <iframe name="person" id="person" frameborder="0" 	scrolling="no" width="100%" height="500"
		onload="this.height=this.contentWindow.document.documentElement.scrollHeight" > 
			<script type="text/javascript"> 
			//动态获取被引用的页面的高度 
			function reinitIframe1(){     
				var iframe = document.getElementById("person");    
				try{     
					var bHeight = iframe.contentWindow.document.body.scrollHeight;     
					var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;     
					var height = Math.max(bHeight, dHeight);     
					iframe.height =  height;     
				}catch (ex){}     
			}     
			window.setInterval("reinitIframe1()", 200); 
			</script>  
			</iframe> 
		</td> 
		<td width="2%">&nbsp;</td> 
		<td width="49%"> 
				<iframe name="cell" id="cell" frameborder="0"  scrolling="no" width="100%" height="500"
					onload="this.height=this.contentWindow.document.documentElement.scrollHeight" > 
					<script type="text/javascript"> 
					//动态获取被引用的页面的高度 
					function reinitIframe2(){     
						var iframe = document.getElementById("cell");    
						try{     
							var bHeight = iframe.contentWindow.document.body.scrollHeight;     
							var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;     
							var height = Math.max(bHeight, dHeight);     
							iframe.height =  height;     
						}catch (ex){}     
					}     
					window.setInterval("reinitIframe2()", 200); 
					</script>  
			</iframe> 
        </td> 
    </tr> 
</table> 
3
4
分享到:
评论

相关推荐

    多层嵌套iframe 自适应高度的解决方法

    多层嵌套iframe 自适应高度的解决方法

    再谈iframe自适应高度

    "再谈iframe自适应高度"这个主题,关注的是如何使iframe的内容区域根据所加载页面的高度自动调整,以避免滚动条出现或者内容被截断的问题。在网页设计中,尤其是在构建响应式布局时,这是一个非常关键的优化点。 1....

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

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

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

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

    iframe自适应高度.rar

    【标题】:“iframe自适应高度.rar”涉及到的关键知识点主要集中在如何使用JavaScript来处理网页中iframe元素的高度自适应问题。在Web开发中,iframe(Inline Frame)是一种内联框架,常用于在同一个HTML文档中嵌入...

    iframe自适应宽高

    这个库允许的高度与同跨域iframe来适应他们所包含的内容的宽度自动调整大小。它最常见的问题与使用iframes提供一系列的功能,其中包括: 高度和宽度大小的iframe内容大小。 作品以多个嵌套的iframe。 跨域iframe域...

    iframe自适应高度(兼容多种浏览器)

    ### iframe自适应高度(兼容多种浏览器) 在网页开发过程中,`iframe`是一种...通过上述步骤,我们可以构建出一个既实用又兼容多浏览器环境的`iframe`自适应高度方案。这对于提升用户体验、优化页面布局具有重要的意义。

    js实现iframe自适应高度

    然而,`iframe` 的一个常见问题是其内容区域的高度可能超过其本身的显示区域,导致滚动条出现或者内容被截断。为了解决这个问题,我们需要让`iframe`能够自适应其内容的高度。本文将详细讲解如何使用JavaScript实现`...

    iframe自适应高度和宽度

    ### iframe自适应高度和宽度详解 在Web开发中,`iframe`(Inline Frame)是一种常用的HTML元素,用于在当前页面内嵌入另一个HTML文档。它能够实现页面内部局部刷新的效果,广泛应用于各种复杂的网页布局中。然而,...

    jquery对iframe自适应高度插件

    总之,“jquery对iframe自适应高度插件”是解决`iframe`高度自适应问题的一个强大工具,它的易用性和效率使得它成为开发者处理`iframe`高度问题的首选方案。通过合理利用这个插件,可以避免手动计算和调整`iframe`...

    iframe 自适应高度

    ### iframe自适应高度实现方法详解 在网页设计与开发中,`iframe`(Inline Frame)是一种常用的HTML元素,用于在当前文档中嵌入另一个HTML文档。然而,在实际应用过程中,经常会遇到`iframe`内容高度固定导致页面...

    iframe自适应高度兼容各主流浏览器

    iFrame自适应高度是指在网页中嵌入iFrame时,使其高度能够自动适应其内容的高度,从而避免了出现滚动条的问题。下面是实现iFrame自适应高度的方法和相关知识点。 知识点1:iFrame的基本概念 iFrame(Inline Frame...

    iframe自适应高度demo

    `iframe`的自适应高度是一项关键技术,它确保了嵌入的内容能够完全显示,避免滚动条的出现,从而提供更好的用户体验。 `iframe`的基本语法如下: ```html &lt;iframe src=...

    基于jquery的兼容各种浏览器的iframe自适应高度的脚本

    自适应高度意味着iframe的高度会根据其内部内容的大小自动调整,从而避免了不必要的滚动条出现,或者因内容过多而导致的溢出问题。这不仅提升了用户体验,还优化了页面的整体布局。 ### 3. jQuery的角色 jQuery是...

    iframe自适应高度说明文档

    如果页面中有多个`iframe`需要自适应高度,可以通过遍历`iframe`数组,逐一应用高度调整逻辑。 ```javascript var iframeids = ['myframe1', 'myframe2']; function dyniframeSize() { var dyniframes = []; for ...

    iframe自适应高度的简单解决办法

    在网页设计中,`iframe`(Inline Frame)是一种嵌入其他网页或内容的标签,它允许我们在一个页面中展示多个独立的源。然而,当`iframe`中的内容高度不确定时,比如动态加载的内容或者不同用户浏览时看到的内容长度...

    iframe根据页面内容自适应高度和宽度

    一个简单的`iframe`标签如下: ```html &lt;iframe src="http://example.com" width="500" height="300"&gt;&lt;/iframe&gt; ``` 在这个例子中,`src`属性指定了要嵌入的页面URL,`width`和`height`分别设置了`iframe`的宽度和...

    iframe自适应高度,亲测完美兼容IE6-9,Chrome,Opera,firefox,safari

    因为有一个项目要用到iframe自适应高度,网上搜索了以下结果无数,不过看来看去都是那几个,而且基本都测试了一遍,所说的兼容根本不是那么回事,要不IE不正常,要不其他浏览器显示不正常,最后无奈,综合网上的方法...

    iframe自适应高度js demo

    为了解决这个问题,我们需要实现一个自适应高度的`iframe`,使其能根据内部内容自动调整高度。本文将深入讲解如何通过JavaScript来实现这一功能。 首先,让我们理解`iframe`的基本用法。在HTML中,创建一个`iframe`...

    iframe跨域自适应高度模板

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

Global site tag (gtag.js) - Google Analytics