源youtube api无法在“ DOMWindow”上执行“ postMessage”:

时间:2018-11-02 14:09:49

标签: api youtube youtube-api cross-domain

当我使用Youtube API在Chrome上嵌入视频时遇到此错误:

“原始youtube api无法在'DOMWindow'上执行'postMessage':提供的目标原始('https://www.youtube.com')与收件人窗口的原始('XXXXXXX')不匹配。”

它工作正常,但是我得到了这个错误。

如果我要进行简单的YouTube内嵌iframe嵌入,通常可以通过向URL添加原始设置来解决此问题。但是,我似乎无法使用API​​做到这一点。我向playerVars添加了一个原点,但不能解决错误。

   <script async src="https://youtube.com/iframe_api"></script>
   <script>
      function onYouTubeIframeAPIReady() {
      var player1;
      player1 = new YT.Player('YouTubePlayer', {
      videoId: 'XXXXXXXXXXXX',  
      width: 1920,                
      height: 1080,               
      playerVars: {
      autoplay: 1,         
      start: 40,
      end:640,
      controls: 0,         
      showinfo: 0,         
      enablejsapi: 1,
      origin: 'https://XXXXXXXXX.com',
      modestbranding: 1,   
      loop: 1,             
      fs: 0,               
      cc_load_policy: 0,  
      iv_load_policy: 3,   
      autohide: 0          
         },
         events: {
           onReady: function(e) {
             e.target.mute();
      player1.addEventListener('onStateChange', function(e) {

         var id = 'XXXXXXXXX';



      if(e.data === YT.PlayerState.ENDED){
        player1.loadVideoById({'videoId': id,
               'startSeconds': 40,
               'endSeconds': 640,
               'suggestedQuality': 'large'});

      };
         });
           }
         }
       });

我应在哪里添加原点?还是有解决该问题的另一种方法?谢谢!

0 个答案:

没有答案