html+iframe+跟随高度,html iframe高度自适应

本文介绍了一种通过JavaScript调整iframe元素高度的技术方案。该方案利用函数`calcPageHeight`计算子页面的实际高度,并将其应用于父页面中的iframe元素。文章提供了两种实现方式:一种是在父页面直接设置高度,但可能遇到浏览器兼容性问题;另一种则有更好的兼容性,适用于多种浏览器环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想到的一种办法是,在父页面里获取子页面的高度,在父页面onlod里把获取到子页面的高度赋值给父页面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'

}

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'

}

还有一种是兼容性比较好的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;

}

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值