引言
对于iframe,可能大部人都没什么好感吧!在html5中iframe差不多已经废弃了,但有时候,人在江湖,身不由己啊。比如两公司项目合作,A公司(页面A)要把B公司页面(页面B)嵌套到它里面去,这个就可能会碰到跨域iframe的高度自适应问题。
同域
其实同域的情况下,我们是可以很轻松的做到高度自适应的,父页面可以通过iframe的
contentDocument或document属性访问到文档对象,进而可以取得页面的高度height,然后我们可以将此heihgt赋值给iframe tag。同样,子页面可以通过parent访问到父页面里面引入的iframe tag,然后给其设置高度。
跨域
但是对于上面说到的两公司项目合作的话,由于存在跨越问题,是不能直接通过js控制,我们只能通过一个中间页面来通信。
我们可以选择在页面B里面再嵌套一个页面A的同域页面C,这样页面C就能和页面A进行无障碍的通讯了;因为页面C嵌套页面B中,所以页面B就可以修改页面C的属性值。它们之前的关系结构如下图:
图片描述
大概原理清楚了,下面开始代码:
页面A
页面B
页面C
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。