iframe根据子页面的内容来设置高度

contentDocument 可以获得iframe子窗口的document对象,兼容ie8+

contentWindow    这是个只读属性,返回指定的iframe的窗口对象

iframe加载完毕之后通过contentDocument 或者 contentWindow 这二个对象来获取iframe子页面的内容高度,从而来设置iframe的高度.再给iframe设置高度时子页面的默认样式margin要记得清除(不清楚是会有这个margin大小的误差的,有这个margin的话子页面的内容就无法全部显示出来了).

iframe的父页面

复制代码
<iframe scrolling="no" id="main" name="main" frameborder="0" src="iframe子页面1.html"></iframe>

        <script type="text/javascript">
            //根据ID获取iframe对象
            var ifr = document.getElementById('main');

            ifr.onload = function() {
                //解决滚动条不收缩
                ifr.style.height = 0+'px';

                var iDoc = ifr.contentDocument || ifr.contentWindow.document;
                
                var height = iDoc.documentElement.clientHeight || iDoc.body.clientHeight;

                console.log(iDoc.documentElement.clientHeight,iDoc.body.clientHeight);
                
                ifr.style.height = height + 'px';
                console.log(height);   
            }
</script> 
复制代码
posted @   雪旭  阅读(3194)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示