js iframe跨域高度自适应解决方案
分享知识http://www.fedrobots.com/?search=112338我来纠错//原理:
需要在跨域的子页面上加一个iframe,这个iframe的要和是第一个页面的同域,用这第三个子页面操作同域的第一个页面的高度来实现。当然必须要在服务器环境下运行才能生效。
//第一步,设置同源安全策略
在父页面加:document.domain="fedrobots.com";
//第二步,在跨域的子页面上加以下代码:
<iframe src="" id="iframefind" name="iframefind" width="10" height="0" style=" height:0; margin:0; padding:0; border:0;"></iframe>
<script>
var ifm= document.getElementById("iframefind");
ifm.src = "http://www.lvmama.com/zt/iframe/iframe.html?a=" + Math.random() + "#" + document.body.scrollHeight;
</script>
//第三步,设置同源安全策略,通过跨域页面里的iframe请求的url高度参数,设置顶层页面的iframe高度
<script>
document.domain="fedrobots.com";
window.top.document.getElementById("iframepage").height = parseInt(window.location.hash.substring(1),10);
</script>
//第四步:你该点击上面的分享按钮,把这个知识点分享给你的小伙伴了。