我正在尝试同时使用嵌入的 youtube 视频和一些带有 youtube api 的代码,以便我可以为视频创建悬停事件。不过,我在将 iframe 与播放器代码链接时遇到了麻烦。请问有人知道我在做什么错吗?
html:
<iframe id="playerLibrary" class="playerLocation" width="560" height="315" src="https://www.youtube.com/embed/YT2ZOD32lWw?rel=0&showinfo=0&enablejsapi=0" enablejsapi="1" frameborder="0" allowfullscreen></iframe>
jQuery:
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player3;
function onYouTubeIframeAPIReady() {
player3 = new YT.Player('playerLibrary', {
events: {
'onReady': onPlayerReady,
//'onStateChange': onPlayerStateChange
},
playerVars: {
}
});
}
function onPlayerReady(event) {
console.log('ready'); //never fires
}
最佳答案
当我从 onPlayerReady
更改 onReady 绑定(bind)时,我开始为我工作至onPlayerReady(event)
.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player3;
function onYouTubeIframeAPIReady() {
player3 = new YT.Player('playerLibrary', {
events: {
'onReady': onPlayerReady(event)
},
playerVars: {
}
});
}
function onPlayerReady(event) {
console.log('ready');
}
<iframe id="playerLibrary" class="playerLocation" width="560" height="315" src="https://www.youtube.com/embed/YT2ZOD32lWw?rel=0&showinfo=0&enablejsapi=1" enablejsapi="1" frameborder="0" allowfullscreen></iframe>
关于jquery - 无法让 youtube iframe 和 youtube 播放器代码相互交谈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51546145/