2024年11月iframe 自适应高度的六种方法介绍

发布时间:

  ⑴在实际使用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 自适应高度的六种方法就给大家介绍到这里了,希望可以帮助到广大的码农们,不要再头疼了。。。