Google chrome extension Youtube API播放器chrome扩展
我是一个使用YouTube API播放器的新手 我正在构建一个chrome扩展来使用YouTube的API。为了使用播放器,我创建了一个方法,在该方法中: popup.js:Google chrome extension Youtube API播放器chrome扩展,google-chrome-extension,youtube-api,youtube-javascript-api,Google Chrome Extension,Youtube Api,Youtube Javascript Api,我是一个使用YouTube API播放器的新手 我正在构建一个chrome扩展来使用YouTube的API。为了使用播放器,我创建了一个方法,在该方法中: popup.js: jQuery(document).ready(function() { Player(); }); // Creating the player function Player(){ var tag = document.createElement('script');
jQuery(document).ready(function()
{
Player();
});
// Creating the player
function Player(){
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '1',
width: '1',
playerVars: {
showinfo: '0',
controls: '0',
autohide: '1',
enablejsapi:'1',
origin:"http://localhost/myapp"
},
events: {
'onReady': IframeReady,
'onStateChange': StateChange
}
});
}
function IframeReady(event) {
player.addEventListener("onStateChange", "StateChange");
player.addEventListener("onError", "PlayerError");
player.setPlaybackQuality('hd720');
gettingInfo();
}
I get the music information (playlits) by using a search function, something like this:
httpReq.open("GET","https://gdata.youtube.com/feeds/api/videos/-/Music/?v=2&alt=json&orderby="+"relevance"+"&start-index="+"1"+"&max-results="+"10"+"&q="+query);
上述功能工作完美!我有完整的播放列表。问题是当我尝试播放视频动作(播放列表)时,播放器似乎不工作
通过使用chrome extension的Inspect功能,我得到了以下警告:
加载资源失败-extension://www.youtube.com/iframe_api
我已尝试通过以下操作解决此问题:
"content_security_policy":
"script-src 'self' 'unsafe-eval'; https://www.youtube.com/player_api https://s.ytimg.com/yts/jsbin/www-widgetapi-vfljlXsRD.js; object-src 'self'"
<script type="text/javascript" src="//www.youtube.com/iframe_api"></script>
非常感谢。使用
https://www.youtube.com/iframe_api
。而不是//www.youtube.com/iframe\u api
。嗨,罗布,谢谢你的提示。现在我犯了以下错误:“拒绝加载脚本“”,因为它违反了以下内容安全策略指令:“script src‘self’chrome extension resource:“您能告诉我plase,我如何解决它吗?我已经修改了manifest.json上的内容安全策略,将其改为:“内容安全策略”:“脚本src'self';对象src'self'”PD:包括“https”在youtube.com之前,但它似乎不适用于meI,因为它指向了您的popup.html文件。我相信你的代码也有问题,因为origin
被设置为本地主机URL,而它应该是location。origin
@Rob我们已经将它们(“and”)组合成一个脚本->“我们已经将其包含到我们的内容脚本中。但是刚才我们有以下错误阻止了带有origin的框架”“从使用原点访问框架”chrome-extension://ssxxxxxx". 请求访问的帧具有“http”协议,被访问的帧具有“chrome扩展”协议。协议必须匹配。请参阅上述文件(pastebin)的行号672。