【问题标题】:Listen when youtube player is embedded嵌入 youtube 播放器时收听
【发布时间】:2013-12-03 13:52:52
【问题描述】:

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

【问题讨论】:

    标签: javascript youtube youtube-api


    【解决方案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 来演示。

    【讨论】:

      猜你喜欢
      • 2013-09-19
      • 2012-04-11
      • 2015-03-20
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-18
      • 2011-02-06
      相关资源
      最近更新 更多