iframe高度自适应的6个方法

合集下载

iframe高度自适应

iframe高度自适应

iframe高度自适应发表于 2012/04/05 由 henrypoter/nocategory/iframe-auto-height.html怎样使得iframe自适应嵌套的页面的高度?在嵌入的页面的onload事件中调用如下代码:parent.document.all().height=document.body.scrollHeight;禁止网页缓存,设置expires=0.在主页及嵌入页中加入如下内容:<META HTTP-EQUIV="pragma" CONTENT="no-cache"><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"><META HTTP-EQUIV="expires" CONTENT="0">主页面内容:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0014)about:internet --><html><head><title>ifame自动高度</title><META HTTP-EQUIV="pragma" CONTENT="no-cache"><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"><META HTTP-EQUIV="expires" CONTENT="0"><meta http-equiv="Content-Type" content="text/html;"></head><body bgcolor="#ffffff" leftmargin="0" topmargin="0" ><table id="tab1" border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td></td><td></td><td></td><tr><td></td><td><iframe name="ifm" src="embed.htm" width="100%" frameborder="0" marginheight="0" marginwidth="0" hspace="0" vspace="0"></iframe></td><td></td></tr><tr><td></td><td></td><td></td></tr></table></body></html>嵌入页面embed.htm内容:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0014)about:internet --><HTML><HEAD><META http-equiv=Content-Type content="text/html; charset=gb2312"><META http-equiv=Expires content=0><META http-equiv=Cache-Control content=no-cache><META http-equiv=Pragma content=no-cache><script language="javascript">function setparentheight(){parent.document.all().height=document.body.scrollHeight;}</script><BODY onload="setparentheight();"><TABLE name="tab1" class=center cellSpacing=0 cellPadding=0 width="100%"><tr><td></td><td>1</td><td></td></tr><tr><td></td><td>2</td><td></td></tr><tr><td></td><td>3</td><td></td></tr><tr><td></td><td>4</td><td></td></tr><tr><td></td><td>5</td><td></td></tr><tr><td></td><td>6</td><td></td></tr><tr><td></td><td>7</td><td></td></tr><tr><td></td><td>8</td><td></td></tr><tr><td></td><td>9</td><td></td></tr></TABLE></BODY></HTML>此条目发表在其他文章分类目录,贴了 html, iframe高度自适应标签。

动态的改变IFrame的高度实现IFrame自动伸展适应高度

动态的改变IFrame的高度实现IFrame自动伸展适应高度

动态的改变IFrame的⾼度实现IFrame⾃动伸展适应⾼度动态的改变IFrame的⾼度,实现IFrame⾃动伸展,⽗页⾯也⾃动神缩原理:在IFrame⼦页⾯⼀加载的时候,调⽤⽗IFrame对象,改变其⾼度:1、在IFrame的具体页⾯(就是⼦页⾯),添加JavaScript复制代码代码如下:<script>function IFrameResize(){//alert(this.document.body.scrollHeight); //弹出当前页⾯的⾼度var obj = parent.document.getElementById("childFrame"); //取得⽗页⾯IFrame对象//alert(obj.height); //弹出⽗页⾯中IFrame中设置的⾼度obj.height = this.document.body.scrollHeight; //调整⽗页⾯中IFrame的⾼度为此页⾯的⾼度}</script>2、在IFrame的具体页⾯(就是⼦页⾯)的body中,添加onload事件复制代码代码如下:<body onload="IFrameResize()">3、为⽗页⾯的IFrame标签添加ID,即上⾯第⼀步,⽅法体中的第2⾏所写到的childFrame复制代码代码如下:<IFRAME border=0 marginWidth=0frameSpacing=0 marginHeight=0src="frame1.jsp" frameBorder=0noResize scrolling="no" width=100% height=100% vspale="0" id="childFrame"></IFRAME>:复制代码代码如下://动态改变⽗类iframe的⾼度//iframe页⾯调⽤的js$(function(){//取到窗⼝的⾼度var winH = $(window).height();//取到页⾯的⾼度var bodyH = $(document).height();if(bodyH > winH){window.parent.document.getElementById("mainFrame").height=bodyH;}else{window.parent.document.getElementById("mainFrame").height=winH;}});⽗页⾯的iframe为复制代码代码如下:<iframe src="main.action" height="700" frameborder="0" width="100%" id="mainFrame" name="mainFrame"></iframe>。

iframe的用法 403 -回复

iframe的用法 403 -回复

iframe的用法403 -回复如何使用iframe 标签及其常见问题的解决方案在网页开发中,iframe 标签是一种嵌入式内容的常见方式。

它允许在一个网页中嵌入另一个网页或文档,并且可以在父网页和子网页之间进行通信。

但是,使用iframe 标签可能会遇到一些问题,本文将一步一步地回答如何使用iframe 标签并解决常见问题。

第一步:了解iframe 标签的基本语法和属性在使用iframe 标签之前,我们需要先了解一些基本语法和属性。

下面是iframe 标签的基本语法:html<iframe src="URL" width="width" height="height" frameborder="0"></iframe>其中,src 属性指定要嵌入的网页或文档的URL,width 和height 属性指定iframe 的宽度和高度,frameborder 属性用于控制iframe 边框的显示。

第二步:嵌入其他网页或文档要嵌入其他网页或文档,我们只需在src 属性中指定要嵌入的网页的URL。

例如,要嵌入一个名为"example.html" 的网页,可以使用以下代码:html<iframe src="example.html" width="500" height="300" frameborder="0"></iframe>请确保嵌入的网页在同一个域上,否则由于同源策略,可能会遇到跨域访问限制。

第三步:在父网页和子网页之间进行通信使用iframe 标签,父网页和子网页之间可以进行通信。

这在一些特殊的场景下非常有用,例如,父网页需要向子网页传递一些数据,或者子网页需要通知父网页某些事件。

IFrame自适应大小(全屏已实现)

IFrame自适应大小(全屏已实现)

IFrame ⾃适应⼤⼩(全屏已实现)近⽇做项⽬中⽤到页⾯中嵌套iframe ,想要实现⾃适应⼤⼩,并且在IE 中按F11键全屏时也可以⾃适应⼤⼩。

在⽹上搜来的代码多数只适应页⾯中只有单个iframe 情况,但笔者页⾯还有⼀个logo 图⽚。

经反复实现,如下代码可实现:}window.onresize = resize; // --></mce:script><body scroll="no"><img border="0" width="100%" height="84" src="./images/logo.png" mce_src="images/logo.png"><iframe id="frame3d" name="frame3d" frameborder="0"width="100%" scrolling="auto"style="margin-top: -4px;"onload="this.style.height=document.body.clientHeight-84"height="100%" src="./map.jsp" mce_src="map.jsp"></iframe></body></html> 1、页⾯加载实现:iframe 的onload 事件,之所以减去84,是logo 图⽚的⾼度,把这个位置给让出来。

2、全屏实现:window.onresize 事件document.getElementById('frame3d').style.height = document.body.clientHeight - 84+"px";。

iframe多层嵌套无限嵌套高度自适应的解决方案

iframe多层嵌套无限嵌套高度自适应的解决方案

iframe多层嵌套⽆限嵌套⾼度⾃适应的解决⽅案有A,B,C三个页⾯,A页⾯包含B页⾯,B页⾯包含C页⾯.A页⾯随着B页⾯⾃适应,C页⾯随着B页⾯⾃适应A页⾯复制代码代码如下:<body><iframe id="main" name="main" width="980" scrolling="no" frameborder="0" src="B页⾯"onload="this.height=main.document.body.scrollHeight;this.width=main.document.body.scrollWidth;if(this.height < 410) {this.height=410;}"></iframe></body>B页⾯复制代码代码如下:<body><!--左边--><div style="flost:left;">左边菜单</div><!--右边--><div style="flost:right;"><iframe id="testIframe" name="testIframe" frameborder=0 style="width: 680px;" scrolling="no" src="C页⾯"></iframe></div></body>C页⾯将下⾯这个JS函数写到最最底层的页⾯中(即最孙⼦的那个页⾯) 并在body的onload事件中调⽤该⽅法【下⾯这个公式是万能公式】复制代码代码如下:<script type="text/javascript">//进⾏Iframe的⾃动撑开,让所有⽗页⾯的Iframe都⾃动适应包含页⾼度function autoHeight(){var doc = document,p = window;while(p = p.parent){var frames = p.frames,frame,i = 0;while(frame = frames[i++]){if(frame.document == doc){frame.frameElement.style.height = doc.body.scrollHeight + 'px'; // 这⾥⼀定要注意⽕狐必须要加'px‘ 否则⽕狐⽆效doc = p.document;break;}}if(p == top){break;}}}</script><body onload="autoHeight();"><!--经测试这个最最最⼦的页⾯的body中必须要有⼀个有⾼度的div才⾏否则上⾯的⾃适应⽣效--> <div style="height: 1px;"></div><div style="padding-bottom: 10px;"> <!--这句话也是必不可少的-->这⾥可以写真正的内容并且给该div的padding-bottom设⼀个值</div></body>。

document的几种高度及iframe自适应常用方法

document的几种高度及iframe自适应常用方法

document的几种高度及iframe自适应常用方法四种浏览器对document.body 的clientHeight、offsetHeight 和 scrollHeight 的解释。

这四种浏览器分别为IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。

clientHeight大家对clientHeight 都没有什么异议,都认为是内容可视区域的高度(在后台调整iframe的大小时,通常不用这个,而是用scrollHeight ,即整个网页内容的高度),也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。

offsetHeightIE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。

NS、FF 认为offsetHeight 是网页内容实际高度,可以小于clientHeight。

scrollHeight(自适应时候经常用到)IE、Opera 认为scrollHeight 是网页内容实际高度,可以小于clientHeight。

NS、FF 认为scrollHeight 是网页内容高度,不过最小值是clientHeight。

简单地说clientHeight 就是透过浏览器看内容的这个区域高度。

NS、FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。

IE、Opera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。

scrollHeight 则是网页内容实际高度。

同理clientWidth、offsetWidth 和 scrollWidth 的解释与上面相同,只是把高度换成宽度即可。

让iframe自适应大小 解决方案

让iframe自适应大小 解决方案

让iframe自适应大小解决方案第一种:<iframe name="src" width="100%" frameborder=0 scrolling=no src='admin.htm?catId=<c:outvalue="${model.l}" />'onload="this.height = document.frames['src'].document.body.scrollHeight" />例子:1,创建页面test.html 。

页面中含有一个iframe,name为ifrname ,id为ifrid,src 为iframe.html 页面。

<iframe src="ifarme.html" name="ifrname" height="" style="" onload="" id="ifrid" scrolling=""> </iframe>2,创建iframe.html 页面,里面含有一些内容。

<p>这是iframe页面,通过在父窗口页面或子页面添加JS来自动更改宽高,以适应内容的多少。

</p>要想使iframe自动适应宽和高,可以在test.html 页面iframe onload处增加一些JS代码。

如:<iframe src="ifarme.html" name="ifrname" height="" style="" onload="this.height= document.frames["ifrname"].document.body.scrollHeight" id="ifrid" scrolling=""></iframe>这样iframe即可以自动适应高度了。

iframe自适应高度

iframe自适应高度

iframe 高度自适应1、目的系统通过一内嵌页面(iframe) 来展现网页内容(也包括内嵌页中再嵌一个网页),这将会引起如下几个问题:a.不同的网页内容多少不一致,导致iframe的高度无法与实现内容或浏览器高度相匹配。

b.窗口缩放时,不能iframe不能进行自动调整。

针对这两个问题,写了一些js方法,使iframe自动适应内容或浏览器高度。

2、js代码在主框回页面中包括如下js方法:/*** 内嵌页面的高度设置*/function handleFrameLoad() {var hDoc = getBodyHeight(document);var tblmain = document.getElementById('tblMain');var mFrame = window.mainFrame;var hFrameDoc = getFrameHeight(mFrame);var hTable = hDoc-80; //减去该页面除iframe外其他控件所占的高度.if(hFrameDoc > hTable) hTable = hFrameDoc;tblmain.style.height = hTable;mFrame.height = hTable;if(window.mainFrame.moduleRight != null){//表示该内嵌页,包含内嵌的页面,页iframe的id固定为moduleRight。

initFrameHeight(mFrame,hTable);}}/*** 获取当前页面的高度*/function getBodyHeight(doc){if(doc.all) return doc.body.offsetHeight;else return doc.body.scrollHeight;}/*** 获取内嵌页中的高度.* 若另含子内嵌(moduleRight)页时,应考虑该页面的高度.*/function getFrameHeight(mFrame){var h1 = mFrame.document.body.offsetHeight;var h2 = mFrame.document.body.scrollHeight;if(mFrame.moduleRight != null){var h3 = mFrame.moduleRight.document.body.scrollHeight;if(h3 > h2) h2 = h3;}return h2;}/*** 设置子内嵌页面的高度.* 通过设置iframe所在table的高度来调整。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

iframe高度自适应的6个方法
总所周知,IFrame的高度很容易被改变,以便满足其所需的文档大小。

在默认情况下,某些浏览器会在IFrame中自动设置高度,以适应内容的大小。

但是,一旦IFrame的内容发生变化,它的高度还是不会随着变化。

为了解决这个问题,我们可以使用以下6种不同的方法来让IFrame自动调整自身的高度:
(1)使用CSS
CSS是最简单有效的方法,可以用来让IFrame高度自动调整。

我们可以使用CSS的“height: auto !important”属性,只需给IFrame 添加一个包含此CSS规则的样式,就可以让IFrame在文档大小发生变化时随之调整自身的高度。

(2)使用JavaScript
与CSS不同,JavaScript可以精确地获取iframe的内容,并将其高度设置为文档的高度。

只需使用JavaScript的offsetHeight属性,就可以计算出文档的高度,并将其设置为IFrame的高度。

(3)使用jQuery
jQuery也是一种强大的JavaScript库,可以用来设置IFrame 的自动高度。

只需使用jQuery的resize()方法,然后使用height()和width()方法获取文档的高度和宽度,再将其分别设置为IFrame 的高度和宽度,就可以轻松地使IFrame自动调整自身的高度。

(4)使用AngularJS
AngularJS是一种前端开发框架,可以用来让IFrame的高度自
动调整。

在AngularJS中,我们可以使用ng-style指令来定义IFrame 的高度,并使用“height: auto !important”属性,以便在文档大小发生变化时自动调整IFrame的高度。

(5)使用React
React也是一种前端开发框架,可以用来让IFrame的高度自动调整。

只需使用React的onResize()方法,获取IFrame实例,然后使用getBoundingClientRect()方法获取其当前的高度,再将其设置为IFrame的高度,就可以让IFrame自动调整自身的高度。

(6)使用Vue.js
Vue.js也是一种前端开发框架,可以用来让IFrame的高度自动调整。

Vue.js可以使用watch()方法来监视文档的大小变化,并在变化时将IFrame的高度设置为文档的高度。

总之,使用以上的6种方法,就可以让IFrame的高度自动适应文档的大小,从而满足用户的各种需求。

只需选择一种合适的方法,就可以轻松地实现IFrame高度自适应的效果。

2、CSS是最常用的iframe高度自适应方法
CSS是今天最常用的方法,可以让IFrame的高度自动调整以适应文档的大小。

只需给IFrame添加一个含有“height:
auto !important”属性的样式,就可以让IFrame在文档大小变化时随之改变自身的高度。

此外,CSS还可以用来设置IFrame的最小和最大高度。

只需使用“min-height”和“max-height”属性,就可以指定IFrame的最
小高度和最大高度,以确保IFrame不会超出指定的高度范围。

3、JavaScript是另一种可以实现IFrame高度自适应的方法
与CSS不同,JavaScript可以精确地获取iframe的内容,并将其高度设置为文档的高度。

只需使用offsetHeight属性,就可以计算出文档的高度,并将其设置为IFrame的高度。

此外,JavaScript还可以用来设置IFrame的宽度。

只需使用offsetWidth属性,就可以计算出文档的宽度,并将其设置为IFrame 的宽度。

4、使用jQuery也可以实现IFrame高度自适应
jQuery是一种强大的JavaScript库,可以用来让IFrame的高度自动调整。

只需使用jQuery的resize()方法,然后使用height()和width()方法获取文档的高度和宽度,再将其分别设置为IFrame 的高度和宽度,就可以轻松地使IFrame自动调整自身的高度。

此外,jQuery还可以用来设置IFrame的最小和最大高度。

只需使用minHeight()和maxHeight()方法,就可以指定IFrame的最小高度和最大高度,以确保IFrame不会超出指定的高度范围。

5、AngularJS、React和Vue.js也可以用来实现IFrame高度自适应
AngularJS、React和Vue.js都是一种前端开发框架,可以用来让IFrame的高度自动调整。

AngularJS可以使用ng-style指令来定义IFrame的高度,并使用“height: auto !important”属性,以便在文档大小发生变化时自动调整IFrame的高度。

React可以使用
onResize()方法,获取IFrame实例,然后使用getBoundingClientRect()方法获取其当前的高度,再将其设置为IFrame的高度,以自动调整IFrame的高度。

Vue.js可以使用watch()方法来监视文档的大小变化,并在变化时将IFrame的高度设置为文档的高度。

6、结论
从上面的介绍可以看出,使用CSS、JavaScript、jQuery、AngularJS、React和Vue.js,就可以让IFrame的高度自动调整,从而满足用户的各种需求。

不同的方法有不同的特点,只需根据实际情况选择一种合适的方法,就可以轻松地实现IFrame高度自适应的效果。

相关文档
最新文档