跨域从子页面设置父页面iframe高度(前提,两个域名下都有操作权限)

之前在论坛里看到有个同学问关于跨域调整iframe高度的问题,正好之前解决过类似问题,鉴于此问题还是有一定的通用性,索性总结一下,记录于此。

具体思路如下:



父页面域名为 : www.a.com

IFRAME里子页面域名为 : www.b.com


1.在父级页面所在域名(www.a.com)下设置一个文件,(用来设置IFRAME的高度)比如:http://www.a.com/setHeight.html

2.在子级页面加载完毕后,计算当前页面高度付给一个变量cheight,然后动态创建一个iframe,src是http://www.a.com/setHeight.html#cheight;

3.通过在setHeight.html页面中parent.parent.document.getElementById('iframeid')来调整iframe的高度

4.解释一下,在子页面里动态创建的iframe跟当前子页面的父级页面是同一个域名,这样就不存在跨域问题了。



举例:
         假设父页面的域名是www.a.com,页面名字是 A.html;子页面的域名是www.b.com,页面名字是 B.html

父页面 A.html的内容如下:



    

    
    





父级页面所在域名下的用于调节iframe高度的页面 setHeight.html内容如下:



    

    
        



子页面 B.html内容如下:






    
sdfsfsssfsfs


可见默认的iframe高度是200px,而iframe中B.html的实际高度至少为600px,当B.html加载完成时,会自动调整其父页面iframe的高度

你可能感兴趣的:(前端)