2016-09-13 110 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>