为了账号安全,请及时绑定邮箱和手机立即绑定

html iframe高度自适应

标签:
MySQL

想到的一种办法是,在父页面里获取子页面的高度,在父页面onlod里把获取到子页面的高度赋值给父页面iframe标签,不过这种方法感觉不是很好,因为浏览器兼容性不好,获取不到高度

这种方法有两种写法

<script type="text/javascript">  // 计算页面的实际高度,iframe自适应会用到
  function calcPageHeight(doc) {      
  var cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight)     
   var sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight)    
     var height  = Math.max(cHeight, sHeight)      return height
  }  var ifr = document.getElementById('ifr')
  ifr.onload = function() {      var iDoc = ifr.contentDocument || ifr.document     
   var height = calcPageHeight(iDoc)
      ifr.style.height = height + 'px'
  }</script>
<script>    // 计算页面的实际高度,iframe自适应会用到
    function calcPageHeight(doc) {        
    var cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight)       
     var sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight)       
      var height  = Math.max(cHeight, sHeight)        return height
    }
    window.onload = function() {        
    var height = calcPageHeight(document)
        parent.document.getElementById('ifr').style.height = height + 'px'     
    }</script>

 

还有一种是兼容性比较好的

<iframe class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="http://www.fufuok.com/" id="iframepage" name="iframepage" frameBorder=0 scrolling=no width="100%" onLoad="iFrameHeight()" ></iframe>Javascript代码: 
<script type="text/javascript" language="javascript"> 
function iFrameHeight() { 
var ifm= document.getElementById("iframepage"); 
var subWeb = document.frames ? document.frames["iframepage"].document : ifm.contentDocument; 
if(ifm != null && subWeb != null) { 
ifm.height = subWeb.body.scrollHeight; 
} 
} 
</script>

 作者:下页、再停留

原文链接:https://www.cnblogs.com/zxf100/p/10322564.html


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消