У меня есть четыре видео, загруженных на страницу с помощью API iframe Youtube.Я обнаружил, что если вы запускаете .stopVideo()
, когда видео заканчивается так:
player = new YT.Player('S1_iframe', {
videoId: 'nWMpQMiWXNc',
events: {
'onStateChange': function(event) {
if (event.data == YT.PlayerState.ENDED)
{ player.stopVideo(); }
}
}
});
, то это «визуально» сбрасывает видео, поэтому оно выглядит так, как оно было до того, как на него щелкнули.Мне это нравится, и я хочу сделать это для каждого видео, но проблема в том, что я не хочу писать совершенно новую функцию для каждого игрока:
function(event) {
if (event.data == YT.PlayerState.ENDED)
{ player.stopVideo(); }
}
Должно быть лучшее решение.Есть ли способ написать что-то вроде этого:
function onPlayerStateChange(event){
if (event.data == YT.PlayerState.ENDED)
{
this.stopVideo();
}
}
и вызвать эту функцию для каждого игрока, чтобы функция обращала внимание на конкретного игрока, который ее вызывает, и запускает .stopVideo()
только для этого игрока?Ключевое слово this в вышеприведенной функции не работает.Вот кодовая ручка: https://codepen.io/Wcomp/pen/vbdLam