IFrame 跨域自动高

先说一下不跨域的autoheight解决方案:iframe里

window.parent.frames[“frameId”].height=document.documentElement.scrollHeight

就可以。

如果跨域的话可以获取到window.parent这个对象,但是获取不到其他的对象,因为跨域。

但是可以这样解决:

在iframe里面再插入一个iframe,这个iframe是和最外层的同域的,即:

aaa.com/index.html – > bbb.com/iframe.html -> aaa.com/agent.html。

这个agent中可以用window.parent.parent来做上面提到的没有跨域做的那些事。

但是agent里也没有办法获取到他的parent即iframe.html的高。

解决办法是用js创建这个agent iframe,创建时将网页的高度作为参数穿进去如agent.html?height=800,agent里再根据这个参数设parent.parent