iframe 自适应高度也就是说基于界面美观和交互的考虑,很好的隐藏了iframe的border和scrollbar,让人看不出它是个iframe。iframe 自适应高度如说是始终都调用同一个固定高度的页面,我们直接写死iframe高度就可以了。而如果iframe要切换页面,或者被包含页面要做DOM动态操作,这时候,就需要程序去同步iframe高度和被包含页的实际高度了。如果iframe的高度没有确定,那将是初始的高度。iframe是网页中的一部分,其大小还要受到网页的限制,设置最高可以使用height="100%"。基本上解决iframe超出的高度都是增加了滚动条来实现的,很简单,如果你iframe中的信息超出了一屏幕,你就必须使用滚动条了。开始用的时候还不行,后来发现是因为js跨域问题,没有权限。后来设置了window.document.domain 就可以了,用的是jquery代码2方法。

iframe跨域通信实现其高度自适应解决方案

1、通过 JavaScript获取 iframe 的内容高度。设置 iframe 的告诉和内容高度相同。这种方案在同域的情况下百试不爽,但是缺点是在跨域的情况下,却无能为力。

2、在 iframe 里面引入一段 js,通过 js 实时检测 iframe 内容的高度,发送到服务器。嵌入 iframe 的页面不停的从服务器获取传过来的 iframe 的高度,并设置。这种方案,确实可以解决问题,但是却有些令人不爽的地方。不停的向服务器发送数据,增加量服务器的负担。Javasript 不停的请求服务器,获取新的高度。这种不停的轮询,也确实让人蛋疼。

3、在上面的基础上如果能避开服务器,不失为是一种好方法,但是如何才能避开服务器呢?

推荐内容