是否可以确定 IFrame 中视频的高度?

Posted

技术标签:

【中文标题】是否可以确定 IFrame 中视频的高度?【英文标题】:Is it possible to determine the height of a video in an IFrame? 【发布时间】:2011-10-15 21:09:45 【问题描述】:

我们正在使用 Buto 来托管我们的视频,并通过浮动 IFrame 在我们网站上的灯箱 (FancyBox) 中显示它们。

问题是视频具有不同的高度和宽度,我们不知道链接到视频的简单 html 页面(没有服务器端代码)中的这些尺寸,所以我们为 IFrame 选择的任何尺寸都是有些视频会出错。

我想要一些在视频加载后运行的 javascript,并调整 IFrame 的大小以整齐地适应视频。

考虑到 iframe 托管来自另一个域的内容,这是否可能?任何人都可以推荐替代方案吗?

谢谢!

【问题讨论】:

您能否发布一个 iframe 代码示例,可能使用 jsfiddle.net。 我在 jsfiddle jsfiddle.net/m2fUE/1 上做了游乐场,但加载后无法读取 iframe 内容。也许其他人可以破解它。 【参考方案1】:

由于Same Origin Policy,如果域、端口和协议与托管页面不匹配,您将无法访问 iframe 的内容。

您应该使用代理页面 (here an example) 或 accessing Buto via API(不幸的是,没有 JSONP),但是您需要为此运行一些服务器端代码...

【讨论】:

谢谢 - 我已经在我们的 IIS 7.0 服务器上安装了“应用程序请求路由”并在其中启用了代理,所以现在可以使用 IIS 中的重写模块和代理 Buto 的 XML 文件来设置重写规则进入我的 jQuery 并因此设置 IFrame 大小。感谢您的建议:)

以上是关于是否可以确定 IFrame 中视频的高度?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 youtube Iframe 上禁用全屏?

iframe 高度设置iframe 自适应高度方法总结

是否可以在 iframe 上停止/暂停视频?

确定网站是不是会在 iframe 中打开

当 iframe 内容的高度发生变化时自动调整 iframe 高度(同域)

网页中视频的引入