我正在尝试使用 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
}
});
}
答案 0 :(得分:0)
尝试使用loadVideoById
此功能可加载并播放指定的视频。
- 必需的
videoId
参数指定要播放的视频的YouTube视频ID。在YouTube数据API中,video
资源的id
属性指定了ID。- 可选的
startSeconds
参数接受浮点数/整数。如果已指定,则视频将从最近的关键帧开始到指定的时间。- 可选的
endSeconds
参数接受浮点数/整数。如果已指定,则视频将在指定时间停止播放。- 可选的
suggestedQuality
参数指定视频的建议播放质量。有关播放质量的详细信息,请参阅setPlaybackQuality
函数的定义。
这是一个可以帮助您的代码段
JS
function searchVideo(){
var vID = document.getElementById("vidID").value
player.loadVideoById(vID, 0, "default");
}
HTML
Search by Video ID: <input type="text" id="vidID" name="vidID"><button onclick="searchVideo()">Search</button>