Расширение Chrome - прослушивание событий YouTube - PullRequest
3 голосов
/ 03 декабря 2011
var ytplayer = document.getElementById("movie_player");
ytplayer.addEventListener('onStateChange', 'onPlayerChange');

function onPlayerChange(newState) {
  alert('do something at least...');
  if(newState == 0) {
    alert('movie has stopped');
  }
}

Вот так я пытаюсь слушать события YouTube с расширением Google Chrome.Это не дает мне никакой ошибки, даже если это произойдет, когда фильм закончится.Или, по крайней мере, когда состояние изменилось.Кто-нибудь знает что не так?Консоль не выдаёт мне ошибок.

Ответы [ 2 ]

3 голосов
/ 11 декабря 2011

Ваш код отлично работает на Firefox, потому что плеер Flash. Однако Chrome поддерживает HTML5, а проигрыватель - HTML5 Video Player. Так что нет элемента с идентификатором movie_player. Вы уверены, что ваш видео плеер Flash на Chrome. Щелкните правой кнопкой мыши видео и просмотрите информацию об игроке в контекстном меню. Подробнее о YouTube HTML5 Player .

YouTube HTML5 player в настоящее время находится в испытании, поэтому вы должны определить режим проигрывателя пользователя и добавить запасной вариант для него, по крайней мере, YT полностью использовать HTML5.

1 голос
/ 17 декабря 2011

Элемент HTML5 video запускает свои собственные события. Прямо сейчас, похоже, что проще всего это сделать по имени класса (поскольку у него нет идентификатора):

var videoElement = document.getElementsByClassName('video-stream')[0];

Элементы видео запускают группу событий, которые вы можете найти в списке здесь, в спецификации HTML5 .

Например:

videoElement.addEventListener('pause', function(){ alert('paused!'); })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...