【发布时间】:2021-02-07 02:00:40
【问题描述】:
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onYouTubeIframeAPIReady() {
var $ = jQuery;
var players = [];
$('iframe').filter(function() {
return this.src.indexOf('https://www.youtube.com/') == 0
}).each(function(k, v) {
if (!this.id) {
this.id = 'embeddedvideoiframe' + k
}
players.push(new YT.Player(this.id, {
events: {
'onStateChange': function(event) {
if (event.data == YT.PlayerState.PLAYING) {
$.each(players, function(k, v) {
if (this.getIframe().id != event.target.getIframe().id) {
this.pauseVideo();
}
});
}
}
}
}))
});
}
});
它们上面的代码适用于嵌入式播放器,但是如果您在所有 iframe 嵌入式视频工作之前点击视频播放,它通常会停止工作,除非您刷新页面。有没有办法在所有 Youtube Embeddes 加载后调用此代码?
【问题讨论】:
-
什么浏览器和播放器?
-
最新版本的 Chrome。嵌入式播放器
标签: javascript jquery twitter-bootstrap youtube-iframe-api