如何在跨域中获取 iframe contentWindow 高度
Posted
技术标签:
【中文标题】如何在跨域中获取 iframe contentWindow 高度【英文标题】:How to get iframe contentWindow height in cross domain 【发布时间】:2011-04-09 17:15:06 【问题描述】:我想根据他们的内容自动调整我的 iframe 高度,但在同一个域中,它可以与 contentWindow.height 正常工作,但在跨域的情况下,它访问 iframe dom 的权限被拒绝。
【问题讨论】:
【参考方案1】:对于现代浏览器,您可以使用window.postMessage
函数在属于两个不同域的 iFrame 之间进行通信。
还有几个 jQuery 插件使用旧的 URL 散列技术包装 window.postMessage
,用于不支持 window.postMessage
的浏览器。它使该技术的使用对最终用户透明。
您可以从这里查看以下页面(并且可能借用您需要的 javascript):
Lutron - Ballast Selection Tool
带有下拉菜单的工具实际上是从单独的域加载到 iFrame 中的。然后根据内部内容的高度动态调整 iFrame 的大小。
【讨论】:
我支持使用 postMessage。这是一个简单的例子:***.com/questions/5606920/cross-domain-iframe-resizer/….以上是关于如何在跨域中获取 iframe contentWindow 高度的主要内容,如果未能解决你的问题,请参考以下文章