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/5589756/

相关文章:

从网站客户端脚本进行 WCF RESTful 服务跨域访问

javascript - Ajax 表单 - 图片上传 | ie 拒绝访问

java - 跨域WebSocket连接[Spring Boot]

css - div出现在windows电脑的iframe下面

html - 无论用户的主机文件/dns 解析器如何,如何嵌入网站?

html - 创建全屏 iframe

jquery - 单击导航图标停止/重置 <iframe> 视频

javascript - 'Access-Control-Allow-Origin' header 是如何工作的?

jquery - 如何为基本身份验证发送正确的授权 header

javascript - 使用 Curl php 抓取 iframe 内容