我正在尝试使用Youtube的iframe API构建Chrome扩展程序以显示Youtube视频.但是,玩家的OnReady事件永远不会发生.从以前的帖子我收集这是因为Youtube无法访问播放器,因为它是本地实例.
我想知道:有没有办法让这项工作?
我的代码在弹出窗口中实例化播放器.我想通过将视频ID传递给播放器的loadVideoById函数来向播放器播放新视频.这是我的播放器的代码(在名为'youtube.js'的文件中):
function loadPlayer() {
var popups = chrome.extension.getViews({type: "popup"});
if (popups.length != 0) {
var popup = popups[0];
console.log("Popup found, starting to load the player...");
var tag = popup.document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = popup.document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var done = false;
console.log("Finished loading the player.");
}
}
Run Code Online (Sandbox Code Playgroud)
onYouTubeIframeAPIReady函数如下:
function onYouTubeIframeAPIReady() {
console.log("Starting to instantiate the player...");
var popups = chrome.extension.getViews({type: "popup"});
if (popups.length != 0) {
var popup = popups[0];
popup.document.ytplayer = new YT.Player('player', {
height: …Run Code Online (Sandbox Code Playgroud)