我已经与youtube iframe api争夺了很长一段时间了.不知何故,该方法onYouTubeIframeAPIReady并不总是被触发.
从症状看起来似乎是一个装载问题.检查员未显示任何错误.
这是我的代码:
<div id="player"></div>
<script>
videoId = 'someVideoId';
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
</script>
Run Code Online (Sandbox Code Playgroud)
(在页面末尾调用.我试图将代码放在上面的脚本之后,结果是一样的.)
var isReady = false
, player
, poster
, video;
$(function () {
$('.js-play').click(function (e) {
e.preventDefault();
interval = setInterval(videoLoaded, 100);
});
});
function onYouTubeIframeAPIReady() {
console.log(videoId)
player = new YT.Player('player', {
height: '445',
width: '810',
videoId: videoId,
events: {
'onReady': onPlayerReady//,
//'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) { …Run Code Online (Sandbox Code Playgroud)