iframe - 是否有有效的跨域 iframe 高度自动调整器?

标签 iframe cross-domain

我尝试了一些解决方案,但没有成功。我想知道是否有最好的解决方案以及易于遵循的教程。

最佳答案

你有三种选择:

1。使用 iFrame-resizer

这是一个简单的库,用于根据内容调整 iFrame 的大小。它使用 PostMessage 和 MutationObserver API,支持 IE8-10。它还为内容页面提供选项,以请求包含的 iFrame 具有特定大小,并且还可以在您完成后关闭 iFrame。

https://github.com/davidjbradshaw/iframe-resizer

2。使用 Easy XDM(PostMessage + Flash 组合)

Easy XDM 使用一系列技巧在许多浏览器的不同窗口之间实现跨域通信,并且有一些使用它来调整 iframe 大小的示例:

http://easyxdm.net/wp/2010/03/17/resize-iframe-based-on-content/

http://kinsey.no/blog/index.php/2010/02/19/resizing-iframes-using-easyxdm/

Easy XDM 通过使用 PostMessage 工作在现代浏览器和基于 Flash 的解决方案上作为旧浏览器的后备。

另见 this thread on Stackoverflow (还有其他的,这是一个常见的问题)。另外,Facebook would seem to use a similar approach .

3。通过服务器通信

另一种选择是将 iframe 高度发送到您的服务器,然后使用 JSONP 从父网页从该服务器进行轮询(或者如果可能,使用长轮询)。

关于iframe - 是否有有效的跨域 iframe 高度自动调整器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21667776/

相关文章:

javascript - 如何从跨域页面中提取包含div?

asp.net - 根据内容调整 iFrame 高度

Jquery $.ajax 在跨域调用时在 IE 中失败

javascript - 如何让 SignalR 集线器连接跨域工作?

html - 如何在谷歌地图中指向多个地方

javascript - PostMessage 读取 Iframe 内容

google-chrome - Chrome 显示临时 header 在请求中不显示 cookie

javascript - html2canvas - iframe 没有屏幕截图

javascript - 如何在java脚本中的iframe中没有滚动条的情况下根据url内容调整iframe的大小

javascript - 在动态创建的 iframe 中触发 Javascript