【发布时间】:2016-12-11 20:03:45
【问题描述】:
我正在尝试使用 YouTube iFrame Player API 将 youtube 加载到我的网页中,并且在加载时出现以下错误:
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.youtube.com') does not match the recipient window's origin ('https://developer-sandbox.com').
来源和目标都是https,很少有SO帖子通过将来源和目标网址保留为https来解决问题。在这种情况下,两者是相同的。
下面是我用来动态加载播放器的JS代码:
showVideoPreview: function(youtube_id){
var meThis = this;
var player = new YT.Player('shoppable-video-container', {
height : '315',
width : '560',
videoId : youtube_id,
events : {
'onReady' : meThis.onPlayerReady,
'onStateChange' : meThis.onPlayerStateChange
}
});
}
【问题讨论】:
-
在我的情况下,这是因为 jQuery 在
<head>部分加载。将其移至下面的<body>部分,但在<script src='https://www.youtube.com/iframe_api'></script>工作正常之前。
标签: javascript iframe youtube youtube-api youtube-iframe-api