> 涨姿势 > 真正的让iframe自适应高度 兼容多种浏览器随着窗口大小改变

真正的让iframe自适应高度 兼容多种浏览器随着窗口大小改变

涨姿势 49评论

今天有朋友问到我关于“iframe自适应高度”的问题,原本以为是很简单的问题,没想到折腾了20分钟才搞定。期间遇到几个问题,要么是高度自适应了,但是当窗口改变时会出现滚动条。也就是当窗口放大时iframe没有自动跟随变大显得很小,或是当窗口缩小时iframe还是之前那么大就出现了滚动条。还有或是高度不准确,那么就达不到想要的效果了。

iframe自适应高度

为什么需要使用iframe自适应高度呢?其实就是为了美观,要不然iframe和窗口长短大小不一,看起来总是不那么舒服,特别是对于我们这些编程的来说,如鲠在喉的感觉。

首先设置样式

body{margin:0; padding:0;}

如果不设置body的margin和padding为0的话,页面上下左右会出现空白。

html代码如下

<iframe src="http://www.3tii.com" id="myiframe" scrolling="no" frameborder="0"></iframe>

下面就是今天小编写的时候遇到的问题,考虑到有些朋友可能没怎么用jquery就直接用js吧。

方法一

var ifm= document.getElementById("myiframe");

ifm.height=document.documentElement.clientHeight;

这个方法可以达到让iframe自适应高度的效果,但是如果你将窗口放大或缩小效果就不出来了,也就是本文开头讲的。需要再次刷新,那就不属于自适应了。

那么问题来了,需要解决当窗口改变大小的时候执行js事件,以让iframe自适就高度。那么就需要将相关的代码写成函数,并且给iframe加上onLoad="changeFrameHeight()",也就是下面的方法二了。

方法二

<iframe src="http://www.3tii.com" id="myiframe" scrolling="no" onload="changeFrameHeight()" frameborder="0"></iframe>

js代码也得跟着改

function changeFrameHeight(){
    var ifm= document.getElementById("iframepage");
    ifm.height=document.documentElement.clientHeight;

}

window.onresize=function(){  
     changeFrameHeight();  

window.onresize的作用就是当窗口大小改变的时候会触发这个事件。

所以,使用方法二就可以完美的、真正的让iframe自适应高度了,试试看吧,并且兼容多种浏览器。

版权问题删除,加微信号“qtfyfuli”领取福利!
宅男福利,加微信号“gvb257”好孩子看不见!
且听风吟福利吧温馨提示:在留言、评论中要求加微信号、QQ群、QQ号的,请朋友们谨慎操作,由此引起的其他问题,且听风吟福利吧概不负责,请小伙伴们一定要保持清醒的头脑哈!
  • ( ・ω・ )颜文字

【喜大普奔,会员功能开放!注册成为会员,福利你懂的!】

【提示】由于垃圾评论过多,网站服务器超负荷,现开启会员评论功能,如发现回复内容为重复粘贴相同相似内容、无意义文字内容或是广告、垃圾内容,诸如“aaaaa”、"啊啊啊啊"以及复制文章内容来评论将锁定账号(无法登录和评论),望小伙伴们理解,谢谢!

游戏攻略秘籍

宅男福利标签

福利吧 (47)且听风吟 (42)美女 (38)涨姿势 (33)福利 (29)番号 (27)找福利 (26)桃谷绘里香 (25)求出处 (25)宅男福利 (22)门事件 (20)新闻哥 (20)乳此胸涌 (19)新闻哥吐槽 (18)波多野结衣 (18)电影下载 (18)素人 (16)gif动态图片 (15)内涵图 (14)大桥未久 (14)美少女 (14)女教师 (12)女神 (12)美腿 (11)天海翼 (11)水菜丽 (11)gif出处 (11)韩国电影 (10)种子 (10)宇都宫紫苑 (10)