2011-08-11 25 views
5

Bunun için birkaç konu var ama benim için cevap yok. Bir bindirme divGömülü YouTube videosu Chrome ve IE'de durmuyor

katıştırma youtube video:

<div id="blanket" style="display:none;"> 
    </div> 
     <div id="popUpDiv" style="display:none;"> 
     <a href="#" onclick="popup('popUpDiv')">Close</a>  
     <iframe width="480" height="390" src="https://www.youtube.com/embed/G5AuItKv?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>          
     </div> 
firefox üzerinde

Ben video durur pencereyi kapatmak değil, krom veya internet explorer.

Kullanıcı tıklattığında onu durdurmak için kullanabileceğim basit bir javascript var mı?

TIA

Düzenleme:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 

<a href="#" onclick="javascript:ytplayer.stop()">Close</a> 

<iframe width="480" height="390" src="http://www.youtube.com/e/PE1il5znICA?enablejsapi=1&version=3&playerapiid=ytplayer" frameborder="0" allowfullscreen></iframe> 


<script type="text/javascript"> 
function onYouTubePlayerReady(playerId) { 
    ytplayer = document.getElementById("ytplayer"); 
} 

function stop() { 
    if (ytplayer) { 
    ytplayer.stopVideo(); 
    } 
} 
</script> 
</body> 
</html> 

cevap

3

Youtube video durdurmak için böylece etkinleştirebilirsiniz bir javascript api vardır. Api'yi etkinleştirmek için bu parametreyi ekleyin: src url'inizin sonuna &enablejsapi=1 ve şimdi javascript aracılığıyla oyuncuya erişebilirsiniz. Önce oyuncu referans almak gerekir:

function onYouTubePlayerReady(playerId) { 
    ytplayer = document.getElementById("nameofplayer"); 
} 

ve şimdi aşağıdaki fonksiyonu ile videoyu durdurma yeteneğine sahiptir:

function stop() { 
    if (ytplayer) { 
    ytplayer.stopVideo(); 
    } 
} 

Sadece yakın onclick işlevi içinde stop(); bir çağrı yapmak .

Tüm youtube javascript api bilgileri here adresindedir.

+0

Diğer kontrollerde iframe youtube api biraz farklıdır. Oynatıcıya javascript aracılığıyla erişme hakkında daha fazla bilgi için lütfen [https://code.google.com/apis/youtube/iframe_api_reference.html#Loading_a_Video_Player] sayfasına bakın. –

1

HTML5'te de aynı sorun vardı. Iframe, Youtube API'sı ile çalışmaz, JavaScript api'yi etkinleştirerek nesne oluşturmanız gerekir.

deneyin değişimi:

<iframe width="480" height="390" src="http://www.youtube.com/e/PE1il5znICA?enablejsapi=1&version=3&playerapiid=ytplayer" frameborder="0" allowfullscreen></iframe> 

için:

swfobject.embedSWF("http://www.youtube.com/e/PE1il5znICA?enablejsapi=1&version=3&playerapiid=ytplayer","ytplayer", "480", "390", "8", null, null, params, atts); 

EXEMPLE:

İlk html div ekleyin:

<div id="ytplayer"> 
<p>You need Flash player and JavaScript enabled to view this video.</p> 
</div> 

Ardından nesne oluşturmak için komut dosyası eklemek ve durdurma işlevi ekle:

<script type="text/javascript"> 

    function onYouTubePlayerReady(playerId){ytplayer = document.getElementById("ytplayer");} 
     var params = { allowScriptAccess: "always" };var atts = { id: "ytplayer" }; 


     swfobject.embedSWF("http://www.youtube.com/e/videoID?enablejsapi=1&version=3&playerapiid=ytplayer","ytplayer", "425", "356", "8", null, null, params, atts); 

     function stop() {if (ytplayer) {ytplayer.stopVideo();}} 
    </script> 

Benim için çalış.

İlgili konular