Youtube задержка автозапуска видео - PullRequest
2 голосов
/ 29 декабря 2011

В любом случае можно отложить автоматический запуск видео на YouTube, например: «20 секунд, после загрузки страницы?»

Вот пример только с автоматическим запуском:

http://jsfiddle.net/qbqEA/

Спасибо

Ответы [ 5 ]

4 голосов
/ 29 декабря 2011

Это не идеальное решение, но оно работает,

<iframe class="delayed" width="486" height="273" frameborder="0" data-src="__url__" allowfullscreen=""></iframe>

обратите внимание, что я использовал data-src вместо 'src'

$(document).ready(function() {
    setTimeout(function() { 
        $('iframe.delayed').attr('src', 
                                     $('iframe.delayed').attr('data-src')); 
    }, 20000);
}

Он загрузит iframe через 20 секунд после загрузки страницы. смотри мою вилку: http://jsfiddle.net/WswGV/

1 голос
/ 12 марта 2015

Лучший способ сделать это - использовать YouTube.API с функциональностью Javascript.

 // Load the IFrame Player API code asynchronously.
    setTimeout(function() {
        player.playVideo();
    }, 20000);
      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: '315',
          width: '560',
          videoId: 'I_V_kIzKKqM'
        }); 
    }

Надеюсь, это поможет

0 голосов
/ 31 января 2017

Я использую следующую функцию

jQuery(document).ready(function () {
    var frame = jQuery('.embed-responsive iframe');
    var src = frame.attr('src');
    setTimeout(function(){ frame.attr('src', src+'?autoplay=1'); }, 20000);
});
0 голосов
/ 15 января 2015

Использование https://developers.google.com/youtube/iframe_api_reference добавит 10-секундную задержку перед автоматическим запуском видео:

<div id="player"></div>

<script>
  var tag = document.createElement('script');

  tag.src = "https://www.youtube.com/iframe_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

  var player;
  function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
      height: '390',
      width: '640',
      videoId: 'M7lc1UVf-VE',
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
  }

  function onPlayerReady(event) {
    setTimeout(function() {
        event.target.playVideo();
    }, 10000);
  }

  function stopVideo() {
    player.stopVideo();
  }
</script>
0 голосов
/ 07 августа 2014

Ссылка на IFrame YouTube API выше, я думаю, устарела, но вот такую, которую я нашел сегодня:

https://developers.google.com/youtube/iframe_api_reference

Хотелось бы прочитать это давным-давно.

Чтобы извлечь отрывок из приведенного здесь примера, я бы посоветовал вам обнаружить загружаемый и готовый проигрыватель, затем установить таймер на желаемое количество секунд (я думаю, в вашем случае 20), а затем воспроизвестивидео.

--- v

...