Я размещаю видео на YouTube на своем веб-сайте. Видео содержит инструкции.
В настоящее время мой код позволяет пользователям переходить к следующей странице после окончания видео. Он в основном основан на документах YouTube-API.
function setYoutubeVideoForInstructions(){
// this function is called when users reach the page
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
function onYouTubeIframeAPIReady() {
// this function is fired as soon as the API has been loaded from setYoutubeVideoForInstructions
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'dQw4w9WgXcQ',
events: {
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerStateChange(event) {
// This function is called on playerstate changes. Once the video has ended,
// users are allowed to continue to the next page
if (event.data == YT.PlayerState.ENDED) {
console.log("Video has ended now!")
showContinueButton() // allows users to continue to the next page
}
}
Работает как задумано. Тем не менее, я хочу быть уверен, что пользователь просмотрел все видео. В настоящее время, если пользователь пропустит видео до конца, состояние игрока будет зарегистрировано как ENDED
, и пользователи смогут продолжить.
Мой вопрос:
Могу ли я как-то отключить пользователей от пропуска вперед или обнаружить его, если пользователи пропустят вперед?