contentDocument实现iframe自适应子页面高度

本文介绍了如何使用JavaScript解决iframe内嵌网页自适应高度的问题。在不同页面高度不一致的情况下,通过contentDocument属性获取iframe的document对象,并在子页面onload事件中设置iframe高度,确保内容完全显示。
摘要由CSDN通过智能技术生成

     刚开通博客不久,经常在看到前辈和大牛在博客上分享技术经验,就想用博客来记录一些遇到过的问题和解决问题的经验。

     前两天一朋友和我讨论到用iframe内嵌网页如何做到让iframe自适应子页面的高度。我之前也遇到过同样的问题,如果iframe在不设置高度的情况下,默认高度为150px(在谷歌浏览器下亲试,其他浏览器未实验),如果iframe通过js引用其他子页面进来也无法像div那样通过内容的大小来改变iframe的高度问题,也就是说,内嵌子页面的大部分内容都会被iframe外框的高度限制从而显示不出来。

     当然如果需要切换的每个子页面的高度都一样的话,那么预设iframe的高度是一种很方便有很简单的方式,如果每个子页面的高度不一样,那么就需要用js来改变iframe的高度了,由于项目中只用到一个js文件,所有的页面引用的都是这个js文件,所以问题就变得比较麻烦。按理说,我们可以通过获取子页面的高度来设置iframe的高度,在onload方法中可以获取到父页面和子页面的高度,但由于是点击式切换页面导致this所指的对象不同,在onload方法中获取的子页面高度数据没有办法传递到success()方法中。在一下js方法中用console.log(this);可以知道获取第一个页面高度的this对象和获取到第二个页面高度的this对象还有sucess()方法中的this对象都是不同的。所以利用对象存储的方式也不行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值