Определите, когда пользователь пропускает видео в YouTube - PullRequest
0 голосов
/ 19 февраля 2020

Я размещаю видео на 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, и пользователи смогут продолжить.

Мой вопрос:

Могу ли я как-то отключить пользователей от пропуска вперед или обнаружить его, если пользователи пропустят вперед?

...