Каков правильный способ инициализации API-интерфейса Youtube IFrame в скрипте закрытия?Использование Youtube IFrame API из сценария закрытия
Сейчас я следующая частью в шаблоне сои:
<iframe id="youtube-player" src="http://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1" frameborder="0" allowfullscreen></iframe>
Закрытие скрипта содержит следующую часть:
var player;
onYouTubeIframeAPIReady = function() {
console.log('api ready');
player = new YT.Player('youtube-player', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
};
function onPlayerReady(event) {
console.log('player ready');
event.target.playVideo();
}
function onPlayerStateChange(event) {
}
Сначала я боролся на получение YT.Player
конструктора работать, но потом я добавил extern от https://raw.githubusercontent.com/google/closure-compiler/master/contrib/externs/google_youtube_iframe.js к компилятору закрытия и player
объект был успешно создан.
Однако я получаю сообщение api ready
в консоли, но не player ready
, что означает, что onPlayerReady
никогда не вызывается.
Когда я пытаюсь создать IFRAME, передавая идентификатор пустого div
и добавление videoId
параметра в YT.Player
параметрах конструкторы - YouTube IFrame создается, но не указует на какое-либо видео.
Также я попытался добавить функцию onPlayerReady
к внешним устройствам, но это тоже не помогло.
Что может быть неправильным?