我在一个页面中有两个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%"> </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%"> </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>
分享到:
相关推荐
多层嵌套iframe 自适应高度的解决方法
"再谈iframe自适应高度"这个主题,关注的是如何使iframe的内容区域根据所加载页面的高度自动调整,以避免滚动条出现或者内容被截断的问题。在网页设计中,尤其是在构建响应式布局时,这是一个非常关键的优化点。 1....
标题提到的“iframe自动适应高度(完美自适应高度嵌套代码)”提供了一个解决方案,它能够确保`iframe`在各种主流浏览器中都能正确地自适应内容高度,包括360浏览器、IE6-9、遨游、火狐以及搜狗浏览器。 在传统的`...
然而,`<iframe>`的高度自适应问题常常困扰着开发者,尤其是当`<iframe>`内部的内容动态加载或者变化时,如何让`<iframe>`自动调整其高度以适应内容,而不会导致滚动条溢出或内容被截断,成为了一个常见需求。...
【标题】:“iframe自适应高度.rar”涉及到的关键知识点主要集中在如何使用JavaScript来处理网页中iframe元素的高度自适应问题。在Web开发中,iframe(Inline Frame)是一种内联框架,常用于在同一个HTML文档中嵌入...
### iframe自适应高度(兼容多种浏览器) 在网页开发过程中,`iframe`是一种...通过上述步骤,我们可以构建出一个既实用又兼容多浏览器环境的`iframe`自适应高度方案。这对于提升用户体验、优化页面布局具有重要的意义。
然而,`iframe` 的一个常见问题是其内容区域的高度可能超过其本身的显示区域,导致滚动条出现或者内容被截断。为了解决这个问题,我们需要让`iframe`能够自适应其内容的高度。本文将详细讲解如何使用JavaScript实现`...
这个库允许的高度与同跨域iframe来适应他们所包含的内容的宽度自动调整大小。它最常见的问题与使用iframes提供一系列的功能,其中包括: 高度和宽度大小的iframe内容大小。 作品以多个嵌套的iframe。 跨域iframe域...
### iframe自适应高度和宽度详解 在Web开发中,`iframe`(Inline Frame)是一种常用的HTML元素,用于在当前页面内嵌入另一个HTML文档。它能够实现页面内部局部刷新的效果,广泛应用于各种复杂的网页布局中。然而,...
总之,“jquery对iframe自适应高度插件”是解决`iframe`高度自适应问题的一个强大工具,它的易用性和效率使得它成为开发者处理`iframe`高度问题的首选方案。通过合理利用这个插件,可以避免手动计算和调整`iframe`...
### iframe自适应高度实现方法详解 在网页设计与开发中,`iframe`(Inline Frame)是一种常用的HTML元素,用于在当前文档中嵌入另一个HTML文档。然而,在实际应用过程中,经常会遇到`iframe`内容高度固定导致页面...
iFrame自适应高度是指在网页中嵌入iFrame时,使其高度能够自动适应其内容的高度,从而避免了出现滚动条的问题。下面是实现iFrame自适应高度的方法和相关知识点。 知识点1:iFrame的基本概念 iFrame(Inline Frame...
iFrame 自适应高度的定义是指隐藏 iFrame 的 border 和 scrollbar,让用户无法察觉到它是一个 iFrame。当 iFrame 需要切换页面或执行 DOM 动态操作时,需要程序去同步 iFrame 高度和被包含页的实际高度。 传统的...
`iframe`的自适应高度是一项关键技术,它确保了嵌入的内容能够完全显示,避免滚动条的出现,从而提供更好的用户体验。 `iframe`的基本语法如下: ```html <iframe src=...
自适应高度意味着iframe的高度会根据其内部内容的大小自动调整,从而避免了不必要的滚动条出现,或者因内容过多而导致的溢出问题。这不仅提升了用户体验,还优化了页面的整体布局。 ### 3. jQuery的角色 jQuery是...
如果页面中有多个`iframe`需要自适应高度,可以通过遍历`iframe`数组,逐一应用高度调整逻辑。 ```javascript var iframeids = ['myframe1', 'myframe2']; function dyniframeSize() { var dyniframes = []; for ...
### iframe自适应高度(DOM动态操作) #### 概述 在网页开发中,`iframe`是一种常用的技术,用于在一个HTML页面中嵌入另一个HTML页面。然而,在实际应用中经常会遇到一个问题:即`iframe`的高度与内嵌页面的实际...
在网页设计中,`iframe`(Inline Frame)是一种嵌入其他网页或内容的标签,它允许我们在一个页面中展示多个独立的源。然而,当`iframe`中的内容高度不确定时,比如动态加载的内容或者不同用户浏览时看到的内容长度...
因为有一个项目要用到iframe自适应高度,网上搜索了以下结果无数,不过看来看去都是那几个,而且基本都测试了一遍,所说的兼容根本不是那么回事,要不IE不正常,要不其他浏览器显示不正常,最后无奈,综合网上的方法...
一个简单的`iframe`标签如下: ```html <iframe src="http://example.com" width="500" height="300"></iframe> ``` 在这个例子中,`src`属性指定了要嵌入的页面URL,`width`和`height`分别设置了`iframe`的宽度和...