Google chrome extension Youtube API播放器chrome扩展

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');

我是一个使用YouTube API播放器的新手

我正在构建一个chrome扩展来使用YouTube的API。为了使用播放器,我创建了一个方法,在该方法中:

popup.js:

   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'"
    
  • 通过在popup.html上显示以下内容:

        <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。