使用iframe可以省去很多ajax的复杂代码,但是在把iframe嵌入到div中会出现不能够自适应的问题,起初也在网上找了很多代码,大部分经过测试都不能兼容所有的浏览器。经过我在网上的搜索与相关的代码的修改,终于解决了兼容IE, FF, Opera 等大部分浏览器(Safari没有测试,应该也没问题)。
下面是我的代码,记录下来供以后参考:
index.html:
<div id="right">
<iframe id="rightFrame" name="frameContent" src="iframe.html"
height="" scrolling="no" width="100%" frameborder="0"
onload="SetCwinHeight(this)"></iframe>
</div>
js代码:
function SetCwinHeight(iframeObj){
if (document.getElementById){
if (iframeObj){
if (iframeObj.contentDocument && iframeObj.contentDocument.body.offsetHeight){
iframeObj.height = iframeObj.contentDocument.body.offsetHeight;
} else if (document.frames[iframeObj.name].document && document.frames[iframeObj.name].document.body.scrollHeight){
iframeObj.height = document.frames[iframeObj.name].document.body.scrollHeight;
}
}
}
}
iframe.html
<div class="content">
有这样的名言叫:从哪跌倒,再从哪爬起来。想想自己,曾经跌倒过,却一直没能从那里爬起来。当年高考,虽然没有考
上理想的大学,但是却学到了理想的专业----工商管理。听起来很好地专业,因为这一专业毕竟和MBA有着千丝万缕的联系。所以那个时候很天真的给自己做了定位:努力学习,多学管理理论,将来一定要成为一名出色的职业经理人。为着这样的理想和目标,自认为我的大学生活还不算糜烂,因为毕竟有时间会光顾图书馆,阅读一些专业方面的书籍、报纸和杂志等,了解一些先进的管理理论和最新的经济前沿。
临近毕业,本来是满怀信心,希望自己可以得偿所愿,用这大学四年的所学来报答社会,谁知现实却是如此之残酷,我并未找
</div>
iframe.html 中的js代码
window.onload = function() {
if(top.location != self.location){
var a = window.parent.document.getElementsByTagName('iframe');
for (var i=0; i<a.length; i++){
if (a[i].name == self.name) {
a[i].height = document.body.scrollHeight; return;
}
}
}
}
这样就OK了,可以兼容全部主流浏览器了。
分享到:
相关推荐
完美解决跨域iframe的高度自适应,完美解决跨子域iframe的高度自适应,嵌入几个页面解决跨域iframe的高度自适应。。。
在浏览器兼容性方面,需要考虑 Firefox、IE、Opera 等不同的浏览器,并且需要使用不同的方法来实现 iframe 高度的自适应。 在实际应用中,需要根据具体情况选择合适的方法来实现 iframe 高度的自适应,以确保 ...
### 解决IE、Firefox、Chrome、Safari浏览器中iframe显示高度自适应问题 在Web开发中,`iframe`(Inline Frame)元素常被用于嵌入另一个HTML文档到当前页面中,这种技术为开发者提供了极大的便利,例如加载广告、...
这段描述中提到的“完美自适应高度嵌套代码”很可能就是一个实现上述逻辑的JS代码片段,它可能包含了针对不同浏览器的兼容性处理,比如对于IE6-9这些老版本浏览器的特殊处理,因为它们对某些DOM操作和事件处理的支持...
2. `order_list.html`: 这个文件很可能被用作iframe的源,即被嵌入到index.html中的页面,可能包含了一些需要自适应高度的内容。 3. `jquery-1.7.2.min.js`: 这是jQuery库的版本1.7.2的压缩版,它是实现iframe高度...
iFrame 自适应高度(兼容所有主浏览器) iFrame 自适应高度是前端开发中常见的问题,很多开发者在搜索引擎中搜索相关解决方案,但大多数文章只能解决静态高度的问题,而忽视了 JS 操作 DOM 之后的动态同步问题。...
iFrame自适应高度兼容各主流浏览器 iFrame自适应高度是指在网页中嵌入iFrame时,使其高度能够自动适应其内容的高度,从而避免了出现滚动条的问题。下面是实现iFrame自适应高度的方法和相关知识点。 知识点1:...
此外,由于跨域安全限制,`<iframe>`内页面与父页面可能无法进行通信,这会影响高度自适应功能的实现。确保`<iframe>`加载的页面与包含它的页面位于相同的源(协议+域名+端口)下,或者`<iframe>`加载的页面明确通过...
接下来,我们可以利用JavaScript的DOM操作和事件监听来实现自适应高度的功能。以下是一个基本的实现步骤: 1. **获取`iframe`元素**:通过`document.getElementById`或`querySelector`方法找到页面上的`iframe`元素...
实现`iframe`高度自适应的基本思路是在页面加载完成或者窗口大小发生变化时,通过JavaScript动态计算嵌入内容的实际高度,并相应地调整`iframe`的高度。这种方法的核心在于编写合适的JavaScript函数来获取嵌入内容的...
### iframe自适应高度(兼容多种浏览器) 在网页开发过程中,`iframe`是一种常用的元素,用于在当前页面中嵌入另一个HTML文档。然而,默认情况下,`iframe`的高度是固定的,这可能会导致内容显示不完全或者出现不必要...
总结来说,实现Iframe框架高度自适应的关键在于获取Iframe内容的实际高度,并将其应用于Iframe元素的样式。通过监听页面加载事件,我们可以确保在页面完全加载后自动调整Iframe的高度,以提供更好的用户体验。同时,...
最后,`MainFrame.html`和`用jquery实现iframe高度自适应完美兼容多数浏览器.html`可能是包含上述代码的实际示例页面,而`js`文件夹可能包含了jQuery库和其他可能的辅助脚本。 总结,通过jQuery,我们可以优雅地...
总的来说,这个例子通过`postMessage`实现了跨域`iframe`的高度自适应,使得`iframe`可以动态地根据其内容的高度进行调整,即使内容源与父页面不在同一域。这在处理第三方内容嵌入或者多个域间的交互时非常有用。...
本篇文章将详细讲解如何实现`iframe`的高度自适应以及在不同浏览器之间的兼容性处理。 一、`iframe`基本使用 `iframe`标签的基本结构如下: ```html <iframe src=...
### iframe自适应高度和宽度详解 在Web开发中,`iframe`(Inline Frame)是一种常用的HTML元素,用于在当前页面内嵌入另一个HTML文档。它能够实现页面内部局部刷新的效果,广泛应用于各种复杂的网页布局中。然而,...
使用CSS Flexbox或Grid也可以实现自适应效果。在父容器上设置相应的样式,可以让Iframe自动填充可用空间。例如,使用Flexbox: ```html ;"> <iframe id="myIframe" src="http://example.com" style="flex: 1;">...
在某些情况下,如果`iframe`内容与主页面同源,可以使用CSS的`resize`属性来尝试让`iframe`自适应高度。但是,这种方法并不适用于跨域的情况。 2. **JavaScript/jQuery解决方案**: 对于跨域的`iframe`,可以采用...
在 jsp 页面中,我们可以使用 js 代码来实现 iframe 的高度自适应。下面是一个简单的示例代码: ```html <iframe id="agentFrame" name="agentFrame" src="" width="0" height="0" style="display:none;"></iframe>...
"iFrame高度自适应终极解决方案(兼容IE7,8,9 Firefox3.6+,Chrome 12+)"这个标题所指向的,就是一种跨浏览器的策略,确保iFrame内容无论何时更新,都能自动调整其高度,从而避免滚动条的出现和内容溢出。...