ACCESS DENIED
小Z小Z  2019-08-25 03:57 主机之家测评 隐藏边栏 |   抢沙发  68 
文章评分 0 次,平均分 0.0

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

iframe 自适应高度,兼容多种浏览器

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

首先设置样式

body{margin:0; padding:0;}

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

html 代码如下

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

方法一

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

ifm.height=document.documentElement.clientHeight;

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

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

方法二

js 代码也得跟着改

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

}

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

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

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

声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
小Z
小Z 关注:0    粉丝:0
【声明】:本站宗旨是为方便站长、科研及外贸人员,请勿用于其它非法用途!站内所有内容及资源,均来自网络。本站自身不提供任何资源的储存及下载,若无意侵犯到您的权利,请及时与我们联系。

发表评论

扫一扫二维码分享