2013-04-22 23 views
7

$ (document) .ready() işlevimin içine youtube iframe api kodunu eklemek istiyorum ancak bunu yaptığımda oyuncu kodu dışarıda taşıdığımda yüklenmiyor gibi görünüyor document.ready para cezası oyuncu yükler. Herkes bana ben ne zaman işlevi içinde bu videoyu görünmesini sağlayabilirsiniz konusunda herhangi bir öneriniz sunabilir mi? yüklendiği zamanyoutube iframe kodunu document.ready içine ekleme ile ilgili sorunlar

JS

$(document).ready(function() { 
var tag = document.createElement('script'); 
    tag.src = "//www.youtube.com/iframe_api"; 
    var firstScriptTag = document.getElementsByTagName('script')[0]; 
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

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

    function onPlayerReady() { 
     console.log('ready'); 
    } 

    function onPlayerStateChange() { 
     console.log('player changed'); 
    } 
}); 

cevap

10

.

Ben pek bir yarar sağlamadığı olsa bunu yaparken ne var ki emin değilim, ama sen gerçekten istiyorsanız bu bir seçenek. that``` yapmaya

+0

'' 'avantajı - benim niyeti tüm içerik tamamladıktan sonra, sonrası için YouTube iframe'lerin bırakarak birinci sayfasını yüklemek için ... –

0

komut onYouTubePlayerAPIReady() arayacak. Eğer ... en ... diyelim zaman YT API (kapsam dışı) aramak için artık senin DOM hazır mahfaza içine bu işlevlerin kullanılamaz "gizlemek".

YT API komut dosyasına doğrudan erişemediğiniz için, bu davranışı değiştiremezsiniz ve sorduğunuz şeyleri imkânsız hale getiremezsiniz. Eğer o zaman $(document).ready() fonksiyonu içinde YouTube iframe API geri arama tanımlamak ve potansiyel olarak geri arama kapsamı içine $(document).ready() kapsamından diğer değişkenlerle çekmek mümkündür function onYouTubePlayerAPIReady() {...}window.onYouTubePlayerAPIReady = function() {...} geçerseniz