我正在使用iframe将youtube / vimeo视频嵌入到我的网站上。
<iframe src="http://www.youtube.com/embed/{$entity->getYoutubeVideoID()}" ...></iframe>
{$entity->getYouTubeVideoID()}
位是智能模板代码语法。我不认为这是问题,因为视频上传并在Chrome和IE9及以上版本中播放正常。该视频还上传到firefox和safari很好,这意味着我可以看到视频,它是正确的。但是当我点击视频时,它无法在firefox或safari中播放。
有趣的是,其他事件被触发。也就是说,在鼠标悬停时,视频上的播放按钮会发生变化。在youtube视频中,带有播放图标的中间按钮以灰色开始,鼠标悬停时变为红色。所以iframe正在注册事件。但是,它不会在点击上播放。我不知道从哪里开始。
我在iframe上唯一的其他事件处理程序就是这个,但我怀疑是搞乱了它:
$(window).blur(function(){
if($('iframe').is(':focus')){
mySwipe.slide(mySwipe.getPos(), 1000);
}
});
(mySwipe指的是swipe.js幻灯片库)
答案 0 :(得分:1)
我在firefox中的播放按钮也有问题。我使用的是html5 Doctype,所以我在youtube url之后添加了以下内容
&安培; HTML5 = 1
也许这可能对你有帮助。
答案 1 :(得分:1)
我根本无法在swipe.js库(或任何其他启用触摸的jquery库)中播放嵌入的视频。我的解决方案是从vimeo / youtube API中提取缩略图,并将它们用作幻灯片中的占位符。然后在打开灯箱的缩略图上注册点击事件。
答案 2 :(得分:1)
我知道此线程已有6年的历史,但是我最近遇到了这个问题,并且Internet上的所有解决方案都无法正常工作。但是我在我的网站上找到了答案:
如果您有一个安全的网站(HTTPS),并且嵌入了带有此处发布代码的youtube视频,
iframe src="http://www.youtube.com/embed/{$entity->getYoutubeVideoID()}"
...
... Firefox将阻止它,因为那是“混合内容”。 HTTP不安全,因此不允许显示。
Youtube是HTTPS网站,因此在URL中包含“ s”将使其可以在Firefox和IE中播放,而不必禁用安全性。
答案 3 :(得分:0)
Flexslider 2基本上解决了它。 Swipe.js很棒,但是在滑块中播放youtube / vimeo Flexslider效果更好。