Язык программирования: Javascript и Youtube Javascript API
Проблема: На веб-сайте с помощью Javascript API размещено несколько видеороликов YouTube. Звоните/отчитывайтесь перед другой функцией, как только пользователь начинает смотреть видео.
Код, который у меня есть:
var youTubePlayerLoggers = {};
function onYouTubePlayerReady(playerId) {
var video = document.getElementById(playerId);
youTubePlayerLoggers[playerId] = function (newState) {
if (newState == 1) {
if (video && video.getDuration) {
if (video.getCurrentTime() == 0) {
UserStartedVideo('param1', 'param2');
}
}
}
};
video.addEventListener('onStateChange', 'youTubePlayerLoggers.' + playerId);
video.addEventListener('onError', 'onPlayerError');
}
function UserStartedVideo(param1,param2){
}
В 5-й строке кода я проверяю, если newState == 1 (т.е. пользователь нажал кнопку воспроизведения), то если video.getCurrentTime == 0 --> Это начало видео пользователя.
У меня проблема: у меня есть несколько видео на веб-сайте. Когда я нажимаю кнопку воспроизведения первого видео, запускается метод UserStartedVideo. Точно так же метод UserStartedVideo должен запускаться, как только я нажимаю кнопку воспроизведения второго видео, но этого не происходит.
Может ли кто-нибудь сказать мне, где я делаю неправильно или как-то еще, чтобы захватить начало видео?