【发布时间】:2013-05-16 19:07:51
【问题描述】:
我正在使用 iframe 将 youtube/vimeo 视频嵌入我的网站。
<iframe src="http://www.youtube.com/embed/{$entity->getYoutubeVideoID()}" ...></iframe>
{$entity->getYouTubeVideoID()} 位是 smarty 模板代码语法。我认为这不是问题,因为视频在 Chrome 和 IE9 及更高版本中可以正常上传和播放。该视频还可以很好地上传到 Firefox 和 safari,这意味着我可以看到该视频并且是正确的。但是当我点击视频时,它不会在 firefox 或 safari 中播放。
有趣的是触发了其他事件。也就是说,在鼠标悬停时,视频上的播放按钮会发生变化。在 youtube 视频中,中间带有播放图标的按钮一开始是灰色的,鼠标悬停时变成红色。所以 iframe 正在注册事件。但是,它不会在点击时播放。我不知道从这里去哪里。
我在 iframe 上拥有的唯一其他事件处理程序就是这个,但我怀疑这会搞砸它:
$(window).blur(function(){
if($('iframe').is(':focus')){
mySwipe.slide(mySwipe.getPos(), 1000);
}
});
(mySwipe 指的是 swipe.js 幻灯片库)
【问题讨论】:
-
按下大播放按钮会发生什么?
-
@AhmedNuaman 播放按钮从红色变为灰色,但视频无法播放。这种行为也是不稳定的。
-
您是否在 iframe 上进行任何 CSS 转换?
-
@AhmedNuaman iframe 上唯一的样式是我在 html 中设置的
width:100%和height:100%。 -
好的,如果您要根据 YouTube 为您提供的任何嵌入代码指定高度和宽度(您可以在观看页面上找到此代码),这行得通吗? FireFox 仍然存在一个关于 Flash 和播放器大小控制倾斜的错误:dropshado.ws/post/4085720152/css-transforms-breaking-flash
标签: javascript events iframe youtube