有没有办法知道youtube播放器何时成功嵌入?我正在使用iframe嵌入,我希望在播放器加载后执行一些操作。
答案 0 :(得分:1)
我假设您正在谈论包含iFrame嵌入代码本身,而不是使用javascript来嵌入它? (无论哪种方式,它都没有太大区别。)为此,您需要使用YouTube iFrame javascript库,以便绑定到iFrame并了解其状态。
要加载库,请使用以下代码:
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
成功注入iFrame javascript库后,它将调用onYouTubeIframeAPIReady,因此如果您定义该功能,则可以知道iFrame绑定支持何时可以使用。在该函数中,您将需要为iframe设置YT.Player对象:
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', { // the first argument is the id of your iframe
events: {
'onReady': onPlayerReady
}
});
}
onReady回调绑定到一个名为onPlayerReady的函数,所以最后一步是定义该函数:
function onPlayerReady() {
alert('iframe is embedded and player is loaded!');
}
这是一个jsfiddle来演示。