1。前言解决iframe高度自适应问题的方法有两种1.pym2。手动设置iframe的高度本文主要总结第二种实现方式,因为第一个pym.js插件对我理解没用。如果使用iframe,会遇到如下需求:iframe的高度始终等于内嵌页面内容的高度,而不是屏幕的高度。右侧不允许有两个滚动条。iframe的高度适配不仅仅只是在加载时,还有可能嵌入内容的高度会随着点击而变化(如:下拉菜单、左侧导航栏等)页面可能嵌入同时存在多个iframe2.contentWindow对象*需要启动一个服务,不要在本地开启读取属性,返回指定iframe的window对象获取此对象,即可获取embedded(child)的文档高度网页按照普通网页的方法,然后把值附加到父页面iframe的高度上。函数setIframeHeight(iframe){if(iframe){variframeWin=iframe.contentWindow||iframe.contentDocument.parentWindow;如果(iframeWin.document.body){iframe.height=iframeWin.document.body.scrollHeight;}}};为了监控网页高度是否因为点击下拉按钮而发生变化,我们创建了一个定时器任务,它会一直监控子网页的高度。setInterval(function(){setIframeHeight($('#iframe')[0])},200)页面上可能同时有多个iframe$(".flexiframe").each(function(index){//iframepublic类名:flexiframevarthat=$(this);(function(){setInterval(function(){setIframeHeight(that[0])},200)})(that)});当页面的高度变高的时候,可以自适应的增加高度,但是当变低的时候,你会发现父页面的高度并没有像我们想象的那样变小,导致出现了大面积的空白处最下面,请继续往下看3.文档声明的重要性把子页面的文档声明改成4.demo父页面:a.html
