2016-04-03 32 views
0

Web sitemde JavaScript ve HTML ile uğraşıyorum. Yaptığım bir listeden rastgele bir video oynatmaya çalışıyorum ve video sayfayı yenilemek ve başka bir video oynatmak için bittiğinde. YouTube embed API'sine bakıyordum ancak işe yaramadı. Bitlerin bu kodlar diğer yayınlarda bulundu. Rastgele video çalışır, ancak otomatik yenilemeyi değil, bu bölümü çıkardım.Rastgele youtube video ve API

<html> 
    <head> 
     <title>Test</title> 
     <script type='text/javascript' src='http://www.youtube.com/player_api'></script> 
     <script type="text/javascript"> 
      var player = [ 
      '<iframe width="100%" height="100%" src="https://www.youtube.com/embed/dxnl-TGq6Sk?autoplay=1&modestbranding=1&autohide=1&showinfo=0&controls=0&iv_load_policy=3&enablejsapi=1" scrolling-="no" frameborder="0" id="player"></iframe>', 
      '<iframe width="100%" height="100%" src="https://www.youtube.com/embed/2dbR2JZmlWo?autoplay=1&modestbranding=1&autohide=1&showinfo=0&controls=0&iv_load_policy=3&enablejsapi=1" scrolling-="no" frameborder="0" id="player"></iframe>' 
      ]; 
      function Random() { 
       var rannum= Math.floor(Math.random()*player.length); 
       document.getElementById('player').innerHTML=player[rannum]; 
      } 
      onload = function() { Random(); } 
     </script> 
     <!--Mouse--> 
     <script language="javascript"> 
      document.onmousedown=disableclick; 
      function disableclick(event) 
      { 
       if(event.button==2) 
       { 
        return false;  
       } 
      } 
     </script> 
     <!--Style--> 
     <style type="text/css"> 
      #overlay { 
       position: absolute; 
       top: 0; 
       right: 0; 
       bottom: 0; 
       left: 0; 
       margin: auto; 
       margin-top: 0px; 
       cursor: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjbQg61aAAAADUlEQVQYV2P4//8/IwAI/QL/+TZZdwAAAABJRU5ErkJggg=='), 
       url(images/blank.cur), 
       none !important; 
      } 
     </style> 
    </head> 
    <body style="background-color:black;" oncontextmenu="return false"> 
     <?php include_once("analyticstracking.php") ?> 
     <div id="player"></div> 
     <div id="overlay"> 
    </body> 
</html> 

cevap

1

Sayfanızı neden yenilemek istiyorsunuz? Belkide başka bir videoyu otomatik olarak oynatmak mı demek istiyorsun? Yenileme, sayfanızı yeniden yükler, böylece tüm js kodunuz yeniden yüklenir.

youtube iframe api'u deneyin. Oynatıcınıza bir etkinlik dinleyicisi ekleyebilirsiniz. Video oynatıldığında, başka bir video yükleyin.

aynı videoyu Eğer web sayfasını ziyaret her zaman oynamak gibi görünüyor
// 2. This code loads the IFrame Player API code asynchronously. 
var tag = document.createElement('script'); 

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

// 3. This function creates an <iframe> (and YouTube player) 
// after the API code downloads. 
var player; 

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

// 4. The API will call this function when the video player is ready. 
function onPlayerReady(event) { 
    event.target.playVideo(); 
} 

// 5. load another video, you can perform your random code here. 
function onPlayerStateChange(event) { 
    if (event.data == 0) { 
    player.loadVideoById("S176AKQhcCk"); 
    } 
} 
<!-- 1. The <iframe> (and video player) will replace this <div> tag. --> 
<div id="player"></div> 
+0

. Web sayfasını ziyaret ettiğinizde yaptığım videolar listesinden her defasında farklı bir video görüntülemeyi deniyorum. Bir video bittiğinde, farklı bir video görüntülemek için sayfayı yeniler. – Random

+0

, daha sonra ilk açıldığında onYouTubeIframeAPIReady() 'deki' videoId 'öğesini rastgele seçer. Yine, yenilenen sayfa youtube api ve iframe dahil olmak üzere tüm web içeriğinizi yeniden yükleyecektir. Israr ederseniz hala yapabilirsin, aslında youtube yaptı, ama söylemeye gerek yok, nasıl çalıştığını biliyorsun. –

+0

Eğer sayfayı yenilemekten daha iyi bir yol varsa o zaman açıklayabilir misiniz? Ayrıca bir örnek çok yardımcı olacaktır. Yardım için teşekkürler! – Random

İlgili konular