Чтобы определить, когда видео YouTube заканчивается, с помощью JavaScript, вы можете использовать API JavaScript YouTube. Вот несколько методов, которые вы можете использовать:
- Событие onStateChange: вы можете прослушивать событие
onStateChangeи проверять, изменится ли состояние на0, что указывает на конец видео.
>
function onYouTubePlayerAPIReady() {
var player = new YT.Player('player', {
events: {
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerStateChange(event) {
if (event.data === 0) {
// Video has ended, perform your actions here
}
}
- Событие onEnded: вы также можете использовать событие
onEnded, которое срабатывает, когда воспроизведение видео заканчивается.
var player = new YT.Player('player', {
events: {
'onEnded': onPlayerEnded
}
});
function onPlayerEnded(event) {
// Video has ended, perform your actions here
}
- Метод getCurrentTime: вы можете периодически проверять текущее время видео с помощью метода
getCurrentTime()и сравнивать его с продолжительностью видео, чтобы определить, закончилось ли видео.
var player = new YT.Player('player', {
events: {
'onReady': onPlayerReady
}
});
function onPlayerReady(event) {
setInterval(function() {
if (player.getPlayerState() === YT.PlayerState.PLAYING) {
var currentTime = player.getCurrentTime();
var duration = player.getDuration();
if (currentTime >= duration) {
// Video has ended, perform your actions here
}
}
}, 1000);
}
Эти методы позволяют по-разному определить, когда видео YouTube заканчивается. Выберите тот, который лучше всего соответствует вашим требованиям.