当我使用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'});
};
});
}
}
});
我应在哪里添加原点?还是有解决该问题的另一种方法?谢谢!