⑴在实际使用iframe的过程中,会遇到iframe高度的问题,对于iframe 自适应高度一直是难点,因为既要考虑的兼容性,还要考虑同域、跨域的情况,下面就给大家介绍iframe 自适应高度的六种方法。
⑵JS自适应高度其实就是设置iframe的高度,使其等于内嵌网页的高度,从而看不出来滚动条和嵌套痕迹,对于用户体验和网站美观起着重要作用。·
⑶如果内容是固定的,那么我们可以通过CSS来给它直接定义一个高度,同样可以实现上面的需求,当内容是未知或者是变化的时候,情况也各不一样。
⑷iframe 自适应高度的六种方法介绍:
⑸一、iframe内容未知,高度可预测
⑹这个时候,我们可以给它添加一个默认的CSS的min-height值,然后同时使用JavaScript改变高度。常用的兼容代码有:·
⑺二、如果在同个顶级域名下,不同子域名之间互通信息
⑻设置document.domain=“caibaojian.”,只要修改以上的iframe的ID即可了,或者你可以直接在iframe里面写代码,我们一般为了不污染HTML代码,建议使用上面的代码。
⑼三、多个iframe的情况下
⑽四、针对知道的iframe的ID调用
⑾五、内容宽度变化的iframe高度自适应
⑿六、跨域下的iframe自适应高度
⒀跨域的时候,由于js的同源策略,父页面内的js不能获取到iframe页面的高度,需要一个页面来做代理。
⒁假设下的一个页面a.html要包含下的一个页面c.html。
⒂我们使用下的另一个页面agent.html来做代理,通过它获取iframe页面的高度,并设定iframe元素的高度。·
⒃a.html中包含iframe:
⒄在c.html中加入如下代码:
⒅最后,agent.html中放入一段js:
⒆agent.html从URL中获得宽度值和高度值,并设置iframe的高度和宽度(因为agent.html在下,所以操作a.html时不受JavaScript的同源限制
⒇关于iframe 自适应高度的六种方法就给大家介绍到这里了,希望可以帮助到广大的码农们,不要再头疼了。。。