Youtube iframe API在'DOMWindow'原点问题上不清楚'postMessage'

时间:2014-11-20 14:01:46

标签: javascript iframe youtube youtube-javascript-api

我有以下功能的youtube iframe。

<iframe width="100%" height="100%" 
        src="//youtube.com/embed/93HWMspjxqI?autoplay=0&origin=http://site.dev&enablejsapi=1" 
        frameborder="0" id="video-93HWMspjxqI">
</iframe>

我想绑定视频关闭事件。这似乎是由youtube iframe_api中的onStateChange事件决定的。

阅读文档,我发现如何通过这样做将播放器对象包装在现有的iframe之上:

var player = new YT.Player("video-"+youtubeParser.getYouTubeIdFromUrl(videoUrl), {
    events : {
        onStateChange    : function () {
            console.log("state change");
         }
    }
});

检查控制台,我看到我的视频对象已正确创建。

player node confirmation from console log

但是,我收到了大量错误,并收到以下消息:

origin error in console log

我尝试在播放器初始化中添加以下参数:

 var player = new YT.Player("video-"+videoUrl, {
      playerVars : {
           origin : window.location.protocol + "//"+window.location.host,
           enablejsapi : 1
      },
      events : {
           onStateChange : function () {
               console.log("state change");
           }
      }
 });

这仍然无法奏效。出现相同的原点错误。为什么?它似乎不是一个本地托管问题。我在这个jsfiddle代码中分离了问题:http://jsfiddle.net/srrbqfnm/1/

0 个答案:

没有答案