今天在工作中遇到有关一个主页面中加载多个Iframe标签,要求Iframe自适应高度,不许出现滚动。当时做了好久还是没有做到自适应高度,现在解决了,共享如下:
假定主页面的部分代码如下:
<body>
<div><iframe id="frame1" src="index2.htm" width="100%" scrolling="no" marginwidth="0" marginheight="0" border="0"></iframe></div>
<br />
<div><iframe id="frame2" src="index3.htm" width="100%" scrolling="no" marginwidth="0" marginheight="0" border="0"></iframe></div>
</body>
让Iframe可以自动随页面高度调整和自动适应,在被嵌套的Ifrmae页面代码</body>标记之前,插入下段代码:
<script for=window EVENT=onload language="JavaScript" type="text/javascript">
parent.document.getElementByIdx('frame1').style.height=document.body.scrollHeight;
</script>
现在的页面都要兼容IE和firefox,在IE和firefox中有些属性值是不一样的,这大家都知道,今天我在弄一个页面的iframe的高度时就碰到,在网上参考了这篇文章之后【网址:http://www.cnblogs.com/anderszhao/archive/2006/09/20/509236.html】解决方案如下:
function setIframeHeight()
{
var iframe = document.getElementById("ifrid");//获取Iframe对象 ie和firefox都可以获得
try{
//getOs()方法是获取浏览器类型 可参考我的另外一篇短文,把代码直接copy过来就可以使用了
//http://linjia06.blog.163.com/blog/static/46089350201105115011967/
if(getOs()=='MSIE'){
var bHeight = iframe.contentWindow.document.body.scrollHeight;//IE
iframe.style.height = bHeight;
}else if(getOs()=='Firefox'){
var ffHeight=iframe.contentDocument.body.scrollHeight;//FireFox
iframe.height = ffHeight;
}
else{
//iframe.style.height = 300px;
}
}
catch (ex){}
}
请注意ie和firefox获取对象的不同,ie为contentWindow、firefox为contentDocument 这就是在IE和firefox中有些属性值是不一样的地方,哎,总是苦了我们这些程序员!
分享到:
相关推荐
总的来说,通过使用JavaScript动态计算`<iframe>`内容的高度并设置`<iframe>`的高度,可以有效地解决`<iframe>`内容高度自适应以及设置高度后无法缩小的问题。同时,要注意兼容性问题和跨域限制,以确保在各种环境下...
`javascript`提供了解决这个问题的方案,即动态调整`iframe`的高度,确保内容完整显示,同时保持页面整洁美观。下面我们将详细探讨如何使用`javascript`来实现这一功能。 1. 获取`iframe`元素 在`javascript`中,...
这在需要动态调整iframe高度以适应内容时会带来挑战。本文将深入探讨如何实现跨域控制iframe的高度,以优化用户体验。 首先,我们需要理解同源策略。同源策略是浏览器为了保障安全而实施的一项规定,它只允许...
为了解决这个问题,我们可以利用JavaScript来动态调整iframe的高度,确保它始终适应其内部内容的大小。 在描述中提到的方法是通过编写一段JavaScript代码,使得iframe能够根据其内部页面内容的高度自动调整。这段...
为了解决这个问题,我们需要一种方法来动态地调整`iframe`的高度,使其与内容匹配。这种技术通常涉及到JavaScript,通过监听`iframe`的`load`事件,然后获取`iframe`内的文档高度,并设置到`iframe`的`height`属性上...
本文实例讲述了jQuery获取与设置iframe高度的方法。分享给大家供大家参考,具体如下: 设置iframe的高度,iframe的高度由iframe中的页面高度决定。 1.首先获取到iframe中页面的高度: 复制代码 代码如下:var iframe...
### iframe高度自适应技术详解 在网页开发过程中,经常会遇到需要在一个页面中嵌入另一个页面的需求,这通常通过HTML的`iframe`元素实现。然而,一个常见的问题是当嵌入的内容高度变化时,如何使`iframe`的高度能够...
iframe是网页设计中经常用来装载子页使用的,如何让iframe随着动态装载的子页(主页不刷新)自动适应所装子改变在小是我们经常要处理的问题;现给出两个非常简单的例子,从不同的角度来实现iframe根据最新加载的子页自动...
### 自动调节iframe高度,而不显示其滚动条 js #### 背景介绍 在网页开发过程中,经常会遇到需要在一个页面内嵌入另一个页面的情况,这时通常会使用HTML中的`iframe`元素来实现。然而,当嵌入的内容高度不确定或者...
这种技术常被用来实现...以上就是关于“Iframe高度自适应浏览器高度”的主要知识点,实践中可能需要结合具体场景和需求选择合适的方法。在实际应用中,还要考虑到兼容性问题,确保在不同浏览器和设备上都能正常工作。
标题"iframe高度随子页高度变化"和描述中提到的问题,正是关注于这个动态调整`iframe`高度的技术。 要实现`iframe`高度随子页高度变化,主要涉及以下几个关键点: 1. **设置iframe的初始高度**:首先,我们需要为`...
3. **使用`miframe.js`插件**:从提供的文件名`miframe.js`来看,这可能是一个专门处理IFrame高度的插件。安装并引用该插件后,可以简化处理IFrame高度的工作。 ```javascript // 引入miframe.js Ext.onReady...
二、动态获取iframe高度 2. **事件监听** 由于iframe内容可能异步加载,因此我们需要监听`load`事件来确保在内容完全加载后获取高度。当iframe加载完成后,可以通过以下方式获取高度: ```javascript var ...
为了使`iframe`的高度能够自适应其内部内容的高度变化,我们需要动态地获取`iframe`内部文档的实际高度,并将这个值设置为`iframe`自身的高度。具体实现步骤如下: 1. **获取`iframe`元素**: - 使用`document....
然而,`iframe` 的一个常见问题是其内容区域的高度可能超过其本身的显示区域,导致滚动条出现或者内容被截断。为了解决这个问题,我们需要让`iframe`能够自适应其内容的高度。本文将详细讲解如何使用JavaScript实现`...
"iframe实时高度检测"是解决了一个常见问题:当我们在一个页面中使用`iframe`展示其他内容时,如何确保`iframe`的内容能够完全显示,而不需要滚动条或者部分内容被裁剪。 ### 1. `iframe`的基本用法 `iframe`标签...
- 避免使用绝对值设置iframe高度,而是倾向于动态计算或响应式设计。 - 对于跨域问题,使用`postMessage`可以提高兼容性和安全性。 - 考虑到性能,尽量在iframe内容加载完成后才执行调整高度的操作,以减少不必要...
iFrame 自适应高度是前端开发中常见的问题,很多开发者在搜索引擎中搜索相关解决方案,但大多数文章只能解决静态高度的问题,而忽视了 JS 操作 DOM 之后的动态同步问题。同时,在浏览器兼容性方面也存在一定的漏洞。...
下面是一个简单的示例,演示如何通过JavaScript来动态调整`iframe`的高度: ```html <iframe name="myframe" src="myframe.htm" frameborder="0" scrolling="auto" width="100%" height="100%" onload="document....
首先,需要获取 iframe 的 ID,然后使用 JavaScript 函数来获取 iframe 的内容高度,并将其设置为 iframe 的高度。这种方法可以在大多数浏览器中正常工作,但是在某些特殊情况下可能会出现问题。 例如,在 Firefox ...