iframe 自适应高度的问题(jquery控制)

为了解决iframe 自适应高高度的问题 已花了我不少时间,在网上找了好几种方法,可每种都有问题,在参考同事的方法后终于解决了所有问题,现在就把代码写出来和大家分享下,同时避免以后忘记。代码如下:

主页面代码:
<html>
<head>
<meta content="text/html; charset=utf-8" />
<title>iframe自适应高度</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(function(){
// 加载时自适应高度
$("#mainFrame").load(function(){
var frameHeight = $(this).contents().find(".frameContent").height() + 10;
$(this).height(frameHeight);
})

var  iframe = $("#mainFrame")
// 定时检测并更新iframe的高度
  setInterval(function(){
var mainheight = iframe.contents().find("  .frameContent ").height()+10;
 iframe.height(mainheight);
},0)
})
</script>
</head>
<body>
<a href="contentFrame1" target="mainFrame">页面1</a>
<a href="contentFrame2" target="mainFrame">页面2</a>
<iframe src="" id="mainFrame" name="mainFrame" frameborder="0" scrolling="no"></iframe>
</body>
</html>

(以下代码就不具体写了,只写内容部分)
页面1代码:
<div class="frameContent" style="height:500px; width:500px;  border:1px solid #f00;">


页面2代码:
<div class="frameContent" style="height:800px; width:500px;  border:1px solid #f00;">


以上的方法解决了  iframe.contentWindow.document.documentElement.scrollHeight 和直接使用 οnlοad="this.height=this.contentWindow.document.documentElement.scrollHeight" 只有在刷新后才能自适应高度的问题,其实这两个并不是自适应,只能获取最大高度来适应。如果知道这两种的解决方法,希望可以把详细的实现步骤写出来分享下,谢谢!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值