iframe高度自适应
2010-05-21 16:30
357 查看
迫不得已用iframe,于是和iframe奋斗了一天。
Example Source Code
<div class="side_left">
<iframe src="left.html" name="leftFrame" id="leftFrame" scrolling="No" width="170px" height="330px" frameborder="0"></iframe>
</div>
<div class="content">
<iframe src="right1.html" name="mainFrame" id="mainFrame" width="740px" frameborder="0" scrolling="no"></iframe>
</div>
典型的,左边菜单点击右边框架显示,先是链接明明指定了target,火狐下却在新窗口中打开。排查了很久,发现犯了个很低级错误没用</iframe>闭合。直接<iframe..../>。IE下没问题,FF不干了....
再就是右边框架随内容自动适应高度的问题。网上很多解决方案,大都转的这篇文章:http://blog.csdn.net/djt/archive/2008/06/05/2514028.aspx。代码:
Example Source Code
<iframe src="right1.html" name="mainFrame" id="mainFrame" width="740px" frameborder="0" scrolling="no"></iframe>
<script type="text/javascript">
function reinitIframe(){
var iframe = document.getElementById("mainFrame");
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("reinitIframe()", 200);
</script>
但是测试发现,在火狐下,并不能收缩。需要刷新页面。
下面方法解决问题:
Example Source Code
<iframe id="mainFrame" name="mainFrame" width="100%" onload="this.height=mainFrame.document.body.scrollHeight" frameborder="0" src="index.htm"></iframe>
测试浏览器:IE6、IE7、IE8、FF3.0
Example Source Code
<div class="side_left">
<iframe src="left.html" name="leftFrame" id="leftFrame" scrolling="No" width="170px" height="330px" frameborder="0"></iframe>
</div>
<div class="content">
<iframe src="right1.html" name="mainFrame" id="mainFrame" width="740px" frameborder="0" scrolling="no"></iframe>
</div>
典型的,左边菜单点击右边框架显示,先是链接明明指定了target,火狐下却在新窗口中打开。排查了很久,发现犯了个很低级错误没用</iframe>闭合。直接<iframe..../>。IE下没问题,FF不干了....
再就是右边框架随内容自动适应高度的问题。网上很多解决方案,大都转的这篇文章:http://blog.csdn.net/djt/archive/2008/06/05/2514028.aspx。代码:
Example Source Code
<iframe src="right1.html" name="mainFrame" id="mainFrame" width="740px" frameborder="0" scrolling="no"></iframe>
<script type="text/javascript">
function reinitIframe(){
var iframe = document.getElementById("mainFrame");
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("reinitIframe()", 200);
</script>
但是测试发现,在火狐下,并不能收缩。需要刷新页面。
下面方法解决问题:
Example Source Code
<iframe id="mainFrame" name="mainFrame" width="100%" onload="this.height=mainFrame.document.body.scrollHeight" frameborder="0" src="index.htm"></iframe>
测试浏览器:IE6、IE7、IE8、FF3.0
相关文章推荐
- JS实现iframe自适应高度的方法示例
- Iframe自适应高度_IE_FF下都可用
- iframe 自适应高度
- 【转】再谈iframe自适应高度
- js控制iframe的高度/宽度让其自适应内容
- jquery库实现iframe自适应内容高度和宽度
- 兼容主流浏览器的iframe自适应高度js脚本
- 实现iFrame自适应高度
- Iframe高度自适应
- jquery库实现iframe自适应内容高度和宽度
- iframe 自适应高度总结
- jquery 实现iframe 自适应高度
- 关于iframe自适应高度的做法 在同一个域下面
- IFRAME 自适应高度
- iframe 自适应高度最简单代码
- iframe 自适应高度问题解决方法
- Iframe高度自适应(兼容IE/Firefox、同域/跨域)[转]
- JS 关于浏览器之间 scrollHeight offsetHeight (比如 iframe自适应高度时...)
- iframe高度自适应内容
- js控制iframe自适应高度