События на YouTube для встраивания в Mobile Safari, iPhone (обратный вызов на остановке) - PullRequest
1 голос
/ 08 ноября 2011

Я работаю над этим мобильным сайтом, где мне нужно воспроизводить видео на YouTube в полноэкранном режиме.Все идет нормально.Просто вставьте YouTube и вуаля.

Но!(Да, всегда есть «но»)

Мне нужно запустить событие (а именно, функцию JS), когда видео закончится.Я подумал, что Safari перевел YT embed в тег <video>, поэтому я попытался использовать HTML5s видео события , но не сработало:

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

Этот прекрасный фрагмент кода работает при непосредственном использовании тега <video>, но не при использовании встраивания YT.

Итак, любые идеи о том, как я могу запустить этоработать после завершения воспроизведения видео YT?

Спасибо!

1 Ответ

1 голос
/ 12 апреля 2012

Когда вы создаете свой экземпляр YT, вы можете предоставить хеш, который отображает события в обработчики. Предоставьте обработчик для события onStateChange и проверьте для eventType, который соответствует end видео (0).

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

См. Раздел JavaScript API YouTube для событий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...