iframe高度自适应,终于解决了

本文提供了一段代码,解决了iframe高度自适应问题,确保最外层滚动条随iframe高度动态变化,避免了常见错误。

一直被iframe的高度自适应的问题困扰着,在项目中也是多次遇到。网上也有不少相关的代码,但是总不能满足自己的要求。在头痛了几次之后终于下定决心解决这个问题。

本代码主要解决的问题是:最外层滚动条随着iframe高度动态变化的问题。如果iframe高度比较大最外层就会出现滚动条,否则就不会。网上好多例子的问题都是iframe只保留最大的高度以至于页面内容高度很小但是右边还有滚动条。

话不多说,上代码。

 1 /**
 2  * iframe自适应高度,height为手动设置的最小高度
 3  */
 4 function initIframeHeight(height){
 5     var userAgent = navigator.userAgent;
 6     var iframe = parent.document.getElementById("contentIframe");
 7     var subdoc = iframe.contentDocument || iframe.contentWindow.document;
 8     var subbody = subdoc.body;
 9     var realHeight;
10     //谷歌浏览器特殊处理
11     if(userAgent.indexOf("Chrome") > -1){
12         realHeight = subdoc.documentElement.scrollHeight;
13     }
14     else{
15         realHeight = subbody.scrollHeight;
16     }
17     if(realHeight < height){
18         $(iframe).height(height);
19     }
20     else{
21         $(iframe).height(realHeight);
22     }
23 }

亲测谷歌、火狐、ie8+通过。第一次发博文试试水 ^_^

 

转载于:https://www.cnblogs.com/weish/p/5358799.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值