internet-explorer - 在 HTTPS 站点上嵌入 Youtube 时出现 Internet Explorer 警告?

标签 internet-explorer ssl https youtube flvplayback

2011 年 3 月 22 日编辑:这个问题不再相关,因为 Youtube 现在提供 HTTPS 访问:http://apiblog.youtube.com/2011/02/https-support-for-youtube-embeds.html


我们的应用程序通过 HTTPS 运行,这很少会给我们带来任何问题。然而,当谈到 youtube 时,他们不通过 SSL 连接呈现任何内容这一事实让我们在尝试嵌入剪辑时有些头疼。主要是因为 Internet Explorer 著名的小警告消息:

"Do you want to view only the webpage content that was delivered securely? This page contains content that will not be delivered using a secure HTTPS ... etc"

我已经尝试通过多种方式解决这个问题。最有前途的一个是使用 Apache 中的 ProxyPass 功能映射到 YouTube。

像这样:

ProxyPass: /youtube/ http://www.youtube.com
ProxyPassReverse: /youtube/ http://www.youtube.com

这摆脱了烦人的警告。但是,youtube SWF 无法开始流式传输我设法加载到浏览器中的 SWF 只是声明:“发生错误,请稍后再试”。

可能的解决方案可能是:

  • 下载 youtube FLV:s 并在自己的域外提供服务 (gah)
  • 使用自定义 FLV 播放器并仅通过 https 代理从 youtube 流式传输 FLV?

3 月 10 日更新:我尝试使用 Googles Youtube API for ActionScript加载播放器。起初看起来很有希望,我能够通过我的 https://代理加载播放器。但是,加载的 SWF 包含大量对不同非 ssl url 的显式调用,以创建 FLV 流的身份验证链接并加载不同的跨域策略。

我们似乎真的不应该直接访问 flv-streams。这使得绕过 Internet Explorer 警告变得非常困难,除非从 youtube 中删除 FLV:s 并在您自己的域之外提供它们。

有下载 youtube FLV:s 的解决方案。但这不符合 Youtube 使用条款,对我们来说真的不是一个选择。

最佳答案

好吧,我终于找到了解决方案。事实上,它既简单又令人愉快。

使用组合的精彩jQuery plugin YouTubin它可以选择通过 swfobject 包含 youtube 视频. swfobject.js 中的一些魔法只是简单地为我们解决了这个问题。

所以只要你包括jquery , swfobjectjquery.youtubin你将能够做到这一点:

$.youtubin();

所有包含指向 youtube 剪辑的链接的 anchor 链接都将替换为嵌入式 youtube 播放器。

最终解决方案来自精彩的 swfobject 项目。不知何故,他们只是解决了这个问题。

这是证明:):http://screencast.com/t/YzVlZjkx

关于internet-explorer - 在 HTTPS 站点上嵌入 Youtube 时出现 Internet Explorer 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2388327/

相关文章:

tomcat - nginx (https) 到 tomcat (https)

java - 无法从 Modern.ie 站点在 VirtualBox Win 7 VM 中安装 Java

javascript - js Accordion 不工作 IE9

javascript - 使用 jquery 生成的标记,链接在 IE 和 Firefox 中不起作用

ssl - 间歇性 SSL 握手错误 nginx

javascript - 在安全 (https) 互联网网站内通过 http 与 LAN 设备进行通信

javascript - SVG 未在 Firefox 34.0.5 和 IE 11 中呈现

security - 仅针对 IE 用户的 SSL 证书错误

java - 是否可以构建一个使用 SSL/TLS JAVA_OPTS 作为其 SSLContext 的 Java 11 HttpClient?

c# - 通过 HTTP 302 重定向从 WebClient 获取位置?