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