网页iframe框架自动适应高度且去除滚动条

一、问题

iframe的高度始终等于嵌入页面内容的高度,而不是屏幕的高度(导致有两个滚动条)

右侧不允许出现两个滚动条

iframe的高度自适应不仅仅是指刚加载进来时,也有可能嵌入内容的高度会随点击变化(如:下拉菜单,左侧导航栏等)

页面可能同时嵌入多个iframe

二、解决方法

html:

6d09a9203ec9468fa305e3176e5706cb.png

 css:

 57e5346ee5f04763a6e7ed6695c6b087.png

 js

为了方面使用,我把代码粘贴在下面几个,自行使用

html代码如下:

<iframe id="myIframe" class="flexiframe" src="homepage.html" marginwidth="0"
            frameborder = "no" scrolling="no" height="0" frameborder="0" ></iframe>

css代码如下:

/*设置框架的样式*/
iframe {
    padding: 0;
    width: 100%;
}

 js代码如下:

//设置高度的方法

function setIframeHeight(iframe) {
    if (iframe) {
        var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
        if (iframeWin.document.body) {
            //这边加五十是高度,如果想要再高一点的页面可以将数字变大,可以自己调
            iframe.height = iframeWin.document.body.scrollHeight+50;
        }
    }
};
//这边无论是多个iframe还是单个,都可以用
$(".flexiframe").each(function (index) {
    var that = $(this);
    (function () {
        setInterval(function () {
            //设置点击的页面高,调用上面的方法
            setIframeHeight(that[0])
        }, 200)
    })(that)
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值