动态调整 iframe 高度
我的原网页地址是 a.com,并且你想要在该网站上嵌入一个来自其他域的 iframe(例如 b.com),并使其高度根据内容动态调整,你需要在两个网站上分别进行配置。
在源网页中
监听高度变化:
使用 window.addEventListener(‘resize’, function) 监听窗口大小变化。
或使用 MutationObserver 监听DOM变化。
发送高度信息:
计算 document.body.scrollHeight 或 document.documentElement.scrollHeight 。
使用 window.parent.postMessage(height, ‘*’) 发送高度信息到父窗口。
在嵌入iframe的网页中
接收消息并调整iframe高度:
使用 window.addEventListener(‘message’, function) 接收消息。
确保消息来源安全并来自预期的源。
根据接收到的数据调整iframe的 style.height 。
示例代码
源网页(被嵌入的页面):a.com
1 | <script> |
嵌入iframe的网页:b.com
1 | <script> |
iframe代码
1 | <iframe id="iframe" src="https://b.com/" scrolling="no" frameborder="0" width="100%"> |
隐藏class或id元素
1 | .nav.navbar-nav.navbar-right { |
评论