前提条件:子页面是第三方网站,相当于不可控制
需要实现:父页面iframe取消滚动条,并展示子页面的所用内容,且子页面内容发生变化时,父页面自适应其高度
实现过程:
我一开始试过获取子页面的window高度,结果由于文档的跨域问题,无法获取。
后来尝试使用postMessage,但第三方并没有获取接受数据和返回数据的接口,无法获取
所以想请教一下各位大佬如何处理这种情况
前提条件:子页面是第三方网站,相当于不可控制
需要实现:父页面iframe取消滚动条,并展示子页面的所用内容,且子页面内容发生变化时,父页面自适应其高度
实现过程:
我一开始试过获取子页面的window高度,结果由于文档的跨域问题,无法获取。
后来尝试使用postMessage,但第三方并没有获取接受数据和返回数据的接口,无法获取
所以想请教一下各位大佬如何处理这种情况
首先 你要能在iframe里面访问到包裹iframe的盒子 。你需要把盒子id传到iframe里面去
<div id="a">
<iframe height="0" src="./iframe.html?boxid=a">
</div>
然后找到盒子下面的iframe
//iframe内部逻辑
var body=document.getElementsByTagName('body')[0] ,
iframeParent = window.parent.document.getElementById(box_id), //盒子的dom
iframe = iframeParent.getElementsByTagName('iframe')[0];
最后给iframe高度赋值就可以了。
//iframe内部逻辑
iframe.height = body.offsetHeight
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
onload="this.height=rightFrame.document.body.scrollHeight;"不知道能不能解决你的问题