网络扩展程序中的Youtube播放器iframe API

时间:2017-07-19 20:11:22

标签: javascript iframe youtube-api firefox-webextensions

我正在制作一个YouTube web extension。如何从YouTube视频页面(www.youtube.com/watch?v=videoId)上的YT.Player获取对content script的引用?

在我的主content script我有这个(来自https://developers.google.com/youtube/iframe_api_reference),但函数onYouTubeIframeAPIReady永远不会触发:

var tag = document.createElement('script');

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

var player;

function onYouTubeIframeAPIReady() {

  console.log("onYouTubeIframeAPIReady");

  ////normally I would create the player like below, but I need the existing one
  //player = new YT.Player('player', {
  //    modestbranding: 1,
  //    cc_load_policy: 1,
  //    wmode: "opaque",
  //    height: '390',
  //    width: '640',
  //    videoId: videoId,
  //    enablejsapi: 1,
  //    events: {
  //        'onReady': onPlayerReady,
  //        'onStateChange': onPlayerStateChange,
  //        'onApiChange': onApiChange
  //    }
  //});
}

有趣的是,我可以从浏览器控制台获取player

var player = $("#movie_player");

但是这个调用在内容脚本中没有用(我得到了另一种对象)。

0 个答案:

没有答案