Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript web扩展中的Youtube播放器iframe API_Javascript_Iframe_Youtube Api_Firefox Addon Webextensions - Fatal编程技术网

Javascript web扩展中的Youtube播放器iframe API

Javascript web扩展中的Youtube播放器iframe API,javascript,iframe,youtube-api,firefox-addon-webextensions,Javascript,Iframe,Youtube Api,Firefox Addon Webextensions,我正在制作一个youtube网络扩展。如何从youtube视频页面(www.youtube.com/watch?v=videoId)上的内容脚本中获取对YT.Player的引用 在我的主内容脚本中有这个(来自),但函数onYouTubeIframeAPIReady从不触发: var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag

我正在制作一个youtube
网络扩展。如何从youtube视频页面(www.youtube.com/watch?v=videoId)上的
内容脚本中获取对
YT.Player
的引用

在我的主
内容脚本中
有这个(来自),但函数
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
  //    }
  //});
}
有趣的是,我可以从浏览器控制台获得
播放器

var player = $("#movie_player");

但是这个调用在内容脚本中不起作用(我得到了一个不同类型的对象)。

相关:@Shog9是的,我已经看到了,并尝试将函数放在后台脚本中(我还在学习和实验)但是没有用..我怀疑这里的核心问题是您正在沙箱中运行-因此您的脚本对页面上运行的脚本不可见,反之亦然。尝试将您的逻辑直接注入页面。