2016-09-13 1 views
2

Я использовал //www.youtube.com/embed/JDcaMVwCr3c?wmode=opaque&showinfo=0&autoplay=1&controls=0&modestbranding=1&vq=&rel=0 URL для размещения видео на своем сайте.Как возобновить встроенное видео YouTube?

Теперь, если пользователь посещает сайт, видео будет воспроизводиться, но если пользователь не просмотрит полное видео и не перезагрузит страницу или не покинет сайт и не вернется через некоторое время, тогда видео теперь будет воспроизводиться с начала.

Я хотел бы возобновить видео с момента, когда пользователь оставил его. Точно так же, как на сайте YouTube.

Это что-то, что YouTube предоставляет API?

ответ

1

См. Следующий пример с комментарием.

<html> 
<head> 
</head> 
<body> 
    <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: '390', 
       width: '640', 
       videoId: 'M7lc1UVf-VE', // Youtube video ID 
       events: { 
        'onReady': onPlayerReady, 
        'onStateChange': onPlayerStateChange, 
       } 

      }); 

     } 

     function onPlayerStateChange() { 
      createCookie('ply_time', player.getCurrentTime(), 1); // Stats like buffer, Pause and play store time in Cookes 

     } 

     function onPlayerReady() { 
      player.seekTo(readCookie('ply_time')); // On ready get ccokies and start vide from that. 
     } 

     document.unload = function() {        // On docucment unload set cookie 
      createCookie('ply_time', player.getCurrentTime(), 1); 
     } 

     window.onbeforeunload = function() {    // On Window unload set cookie 
      createCookie('ply_time', player.getCurrentTime(), 1); 
     } 


     /* 
     * Start:- function to create , read and erase Cookie 
     */ 

     function createCookie(name, value, days) { 
      if (days) { 
       var date = new Date(); 
       date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 
       var expires = "; expires=" + date.toGMTString(); 
      } 
      else 
       var expires = ""; 
      document.cookie = name + "=" + value + expires + "; path=/"; 
     } 

     function readCookie(name) { 
      var nameEQ = name + "="; 
      var ca = document.cookie.split(';'); 
      for (var i = 0; i < ca.length; i++) { 
       var c = ca[i]; 
       while (c.charAt(0) == ' ') 
        c = c.substring(1, c.length); 
       if (c.indexOf(nameEQ) == 0) 
        return c.substring(nameEQ.length, c.length); 
      } 
      return null; 
     } 

     function eraseCookie(name) { 
      createCookie(name, "", -1); 
     } 

     /* 
     * End:- function to create , read and erase Cookie 
     */ 

    </script>  
</body>