嵌入youtube播放器时收听

时间:2013-12-03 13:52:53

标签: javascript youtube youtube-api

有没有办法知道youtube播放器何时成功嵌入?我正在使用iframe嵌入,我希望在播放器加载后执行一些操作。

1 个答案:

答案 0 :(得分:1)

我假设您正在谈论包含iFrame嵌入代码本身,而不是使用javascript来嵌入它? (无论哪种方式,它都没有太大区别。)为此,您需要使用YouTube iFrame javascript库,以便绑定到iFrame并了解其状态。

要加载库,请使用以下代码:

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

成功注入iFrame javascript库后,它将调用onYouTubeIframeAPIReady,因此如果您定义该功能,则可以知道iFrame绑定支持何时可以使用。在该函数中,您将需要为iframe设置YT.Player对象:

  var player;
  function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', { // the first argument is the id of your iframe
      events: {
        'onReady': onPlayerReady
      }
    });
  }

onReady回调绑定到一个名为onPlayerReady的函数,所以最后一步是定义该函数:

function onPlayerReady() {
     alert('iframe is embedded and player is loaded!');
}

这是一个jsfiddle来演示。