2013-04-22 11 views
7

Chcę dodać kod IFR youtube iframe do mojej funkcji $ (document) .ready(), ale kiedy to zrobię, odtwarzacz nie będzie się ładował, gdy przeniesię kod na zewnątrz dokument. Gracz już ładuje ładunki. Czy ktoś może zaoferować mi jakieś sugestie, w jaki sposób mogę sprawić, aby ten film wideo pojawił się w funkcji?Problemy z dodawaniem kodu ifr. Iframe wewnątrz dokumentu. Już mam

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'); 
    } 
}); 

Odpowiedz

10

Jeżeli zmienisz function onYouTubePlayerAPIReady() {...} do window.onYouTubePlayerAPIReady = function() {...} to jest możliwe, aby zdefiniować API YouTube iframe zwrotnego wewnątrz funkcji $(document).ready() i potencjalnie ciągnąć w innych zmiennych z zakresu do swojego zakresu zwrotnego $(document).ready().

Nie jestem pewien, czy ma to jakąś zaletę, ale jest to opcja, jeśli naprawdę chcesz.

+0

'' 'korzyść z robienia tego" "- moim zamiarem jest najpierw załadować stronę, pozostawiając elementy iframe w YouTube na później, gdy wszystkie treści znajdą się na swoim miejscu ... –

0

Skrypt wezwie onYouTubePlayerAPIReady() kiedy jest załadowany. Kiedy ... powiedzmy ... "ukryj" te funkcje w opakowaniu gotowym do DOM, nie będą już dostępne dla wywołania interfejsu API YT (poza zasięgiem).

Ponieważ nie można uzyskać dostępu bezpośrednio do pliku skryptu interfejsu API YT, nie można zmienić tego zachowania i imho to, o co prosimy, nie jest możliwe.

Powiązane problemy