如何访问附加到IFrame的现有YouTube播放器?

时间:2013-12-18 00:50:13

标签: javascript youtube youtube-api

假设已经从另一个javascript模块youtube.js定义了一个玩家对象,如下所示:

  var player;
  function onYouTubeIframeAPIReady() {
    player = new YT.Player('initial-video', {
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
  }

如何从player访问此some_other_js_file.js以便我可以加载其他视频?是否可以在some_other_js_file.js中定义指向同一玩家对象的新变量?如果不是,那可能是一种可能的解决方法?

1 个答案:

答案 0 :(得分:0)

假设在iframe中定义了player,您可以从父网页using its contentwindow property访问它。 iFrame中的所有全局变量都可以从contentWindow

访问

来自some_other_js_file.js

  youtubeiFrame = document.getElementById('youtube-frame-id').contentWindow;

  alert(youtubeiFrame.player)

这符合你的情况吗?

编辑此答案似乎用accessing a youtube player from parent iframe

解决了jsFiddle example