YouTube上的事件嵌入在Mobile Safari,iPhone上(停止回调)

时间:2011-11-08 16:31:02

标签: javascript iphone ios safari youtube

我正在使用此移动网站,我需要在全屏播放YouTube视频。到现在为止还挺好。只是一个YouTube嵌入,并且voilá。

但是! (是的,总有一个«但是»)

我需要在视频结束时触发事件(即JS函数)。我认为Safari将 YT嵌入转换为<video>标记,因此我尝试使用 HTML5s视频事件,但无效:

$('video').bind('ended', function () {
    alert('Video has ended');
});
  

如果直接使用<video>标记,则可以使用这段优秀的代码,但在使用YT嵌入时却不行。

那么,有关如何在YT视频播放完毕后触发此功能的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

创建YT实例时,可以提供将事件映射到处理程序的哈希。为onStateChange事件提供处理程序,并测试与视频end(0)对应的eventType。

new YT.Player('player', {
    events: {
        'onStateChange' : function ( eventType ) { if ( eventType.data == 0 ) { ... } }
    }
} );

请参阅YouTube的JavaScript API部分events