У меня есть видео на YouTube, которое, когда оно закончится, я хотел бы перенаправить на другую страницу на моем веб-сайте

#youtube-api

#youtube-api

Вопрос:

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

     <div id="ytplayer"></div>

<script>
  // Load the IFrame Player API code asynchronously.
  var tag = document.createElement('script');
  tag.src = "https://www.youtube.com/player_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

  // Replace the 'ytplayer' element with an <iframe> and
  // YouTube player after the API code downloads.
  var player;
  function onYouTubePlayerAPIReady() {
    player = new YT.Player('ytplayer', {
      height: '700',
      width: '1600',
      videoId: 'MyVideo',
      playerVars: { 'autoplay': 1, 'controls': 0,'modestbranding': 1, 'rel': 0 }
    });
  }

</script>
  

Конечно, был бы признателен за любую помощь!

Ответ №1:

Вы можете использовать событие players onStateChange для вызова собственной функции.

Например

 function VideoEnd(state){
if(state.data === 0){
 window.location="https://jsfiddle.net";
  }
}
function onYouTubePlayerAPIReady() {
  player = new YT.Player('ytplayer', {
   height: '300',
   width: '400',
   videoId: 'kvKLpJbIfn4',
   playerVars: { 'autoplay': 1, 'controls': 0,'modestbranding': 1, 'rel': 0 },
     events:{
       'onStateChange': VideoEnd
     }
 });
}
  

Вот пример JsFiddle

Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже, и я свяжусь с вами как можно скорее.

Я надеюсь, что это поможет. Счастливого кодирования!

Комментарии:

1. Хорошо, я взял код как есть с сайта JS Fiddle, и он отлично справился с вашими целями. Я вложил свое целевое окно. местоположение и VideoID, и видео воспроизводится нормально, но просто остается на миниатюре моего видео в конце вместо перенаправления. Спасибо, что помогли мне!

2. Вы добавили onStateChange свойство event в проигрыватель? Пожалуйста, проверьте консоль вашего браузера на наличие ошибок.

3. Я полагаю, что это так, поскольку я скопировал предложенный рабочий код и просто отредактировал видео и перенаправил целевые страницы страницы.

4. Пожалуйста, проверьте консоль вашего браузера на наличие ошибок. Также прокомментируйте повторную ссылку и поместите console.log('video ended'); туда, чтобы проверить, выполняется ли когда-либо событие, функция.