Je veux pouvoir contrôler les lecteurs YouTube basés sur des iframes. Ces lecteurs seront déjà présents dans le HTML, mais je veux les contrôler via l'API JavaScript.
J'ai lu la documentation pour l'API iframe qui explique comment ajouter une nouvelle vidéo à la page avec l'API, puis la contrôler avec les fonctions du lecteur YouTube :
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('container', {
height: '390',
width: '640',
videoId: 'u1zgFlCw8Aw',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
Ce code crée un nouvel objet lecteur et l'assigne à 'player', puis l'insère à l'intérieur de la div #container. Ensuite, je peux opérer sur 'player' et appeler playVideo()
, pauseVideo()
, etc. sur celui-ci.
Mais je veux être en mesure d'opérer sur les lecteurs iframe qui sont déjà sur la page.
Je pouvais le faire très facilement avec l'ancienne méthode d'intégration, avec quelque chose comme :
player = getElementById('whateverID');
player.playVideo();
Mais cela ne fonctionne pas avec les nouveaux iframes. Comment puis-je assigner un objet iframe déjà présent sur la page et ensuite utiliser les fonctions de l'API sur celui-ci ?
0 votes
J'ai écrit une abstraction pour travailler avec l'API YouTube IFrame github.com/gajus/playtube