登录

js iframe跨域高度自适应解决方案

我来纠错
//原理:
需要在跨域的子页面上加一个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>

//第四步:你该点击上面的分享按钮,把这个知识点分享给你的小伙伴了。
发送
热门关键词:
命令
知识类型:
标题描述:
详细解答:

提交审核您编辑的知识会经过 前端大牛 人工审核。