强制 Vimeo HTML5 视频嵌入
Posted
技术标签:
【中文标题】强制 Vimeo HTML5 视频嵌入【英文标题】:Force Vimeo HTML5 Video Embed 【发布时间】:2012-09-05 22:25:11 【问题描述】:我正在尝试嵌入 Vimeo 视频并强制它默认使用 html5。
Here's a thread 关于做我想做的事情,但要使用 YouTube。
Here's another thread 谈论获取 Vimeo HTML5 cookie
Here's a discussion of the issue 在 Vimeo 的网站上。基本上,我会根据用户在我的网站上的偏好来做这件事,所以他们的担忧并不真正适用。
是否有人知道即使在 Flash 可用时也可以强制嵌入 HTML5 Vimeo 的解决方法或方法? (我知道 cookie 应该可以在 Safari 中使用,但我有很多 Chrome 用户。)
谢谢。
【问题讨论】:
Vimeo 已将其嵌入代码更改为在我测试时默认为 HTML5。它仍然在 Firefox 中回退到 Flash,但 Safari 和 Chrome 获得了应有的 HTML5。不再需要 hack! 【参考方案1】:目前无法通过嵌入脚本强制 HTML5。 “万能播放器”会根据设备自动选择格式。
旧的嵌入提供了一种强制使用 Flash 的方法,但这是唯一的其他选择。
让我们期待未来的选择。
【讨论】:
Vimeo 最近似乎在我测试时将其嵌入代码更改为默认为 HTML5。它仍然在 Firefox 中回退到 Flash,但 Safari 和 Chrome 获得了应有的 HTML5。所以不再需要黑客了!【参考方案2】:在带有 Flash 的浏览器上,播放器以 html5 模式加载,代码如下。沙箱阻止 iframe 访问任何插件,包括 flash。
<iframe sandbox="allow-same-origin allow-scripts allow-popups"
id="foo"
allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""
src="http://player.vimeo.com/video/28544156?api=1">
</iframe>
要允许 vimeo 按钮打开视频的 vimeo 网页,您需要“允许弹出窗口”权限。不需要播放视频。
编辑:添加完整示例
如果您只有一个黑色视图,则视频的大小可能为零,因为我将 iframe 设置为以 100% 的宽度填充父级,但如果父级缩小以适应,那么该大小仍然为零。这是一个带有 CSS 的整个网页,以使视频占据大部分页面。此外,-webkit-transform 将镜像视频,然后稍微旋转它。如果它在 Flash 中显示,则会产生黑屏,因为它根本无法处理旋转。从那以后,我发现这可能根本无法在 firefox 上运行,因为它本身不支持 vimeo 提供的所有 h.264,并且禁用插件将禁用使 h.264 在 firefox 上运行的任何插件。
<!DOCTYPE html>
<html>
<head>
<style>
div
display: inline-block;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
position: absolute;
iframe
-webkit-transform: scaleX(-1) rotate(2deg);
</style>
</head>
<body>
<div>
<iframe sandbox="allow-same-origin allow-scripts allow-popups"
id="foo"
allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""
src="http://player.vimeo.com/video/28544156?api=1">
</iframe>
</div>
</body>
</html>
【讨论】:
teknotus,从技术角度来看,这是一个有趣的解决方案。但是,上面发布的代码在测试中对我不起作用(此时):我没有嵌入视频,而是得到一个黑匣子。我正在使用 Chrome 30,但未启用扩展程序且允许所有弹出窗口。该配置对您有用吗? @nickv2002 我在刚刚测试的响应中添加了一个完整的 html 文件。希望有帮助。抱歉没早点回复,*** 中的消息通知有点太微妙了,一个多月都没看到。 在您发表我的评论和您的后续行动之间,每当我测试它时,Vimeo 似乎已将其 ebed 代码更改为默认为 HTML5。它仍然在 Firefox 中回退到 Flash,但 Safari 和 Chrome 获得了 HTML5。所以不再需要黑客了!以上是关于强制 Vimeo HTML5 视频嵌入的主要内容,如果未能解决你的问题,请参考以下文章