我使用javascript / Youtube API + PHP编写了一个代码,它从mysql服务器获取YT视频ID并放在javascript中。我注意到重新加载仅在我处于当前选项卡时发生,而不是在我被选中时。它有点混乱 有一个自己的网站,我可以将库放入MYSQL并从那里播放它的整个想法。任何帮助将不胜感激。
<div id="player"></div>
<script src="http://www.youtube.com/player_api"></script>
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player '."('
player ', {
height: '100%',
width: '100%',
videoId: 'VyMznzLTIi8',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// autoplay video
function onPlayerReady(event) {
event.target.playVideo();
}
// when video ends
function onPlayerStateChange(event) {
if (event.data === 0) {
location.reload(true);
}
}
答案 0 :(得分:0)
嗯,显然不是浏览器故障。当窗口没有聚焦时,浏览器会重新加载页面。更有甚者,当窗口没有聚焦时,这个YT.Player不会触发onPlayerStateChange事件。 更重要的是,如果您注意到,如果标签没有聚焦,YT.Player甚至不会启动视频。 如果不修补YT库,我无法想象一种绕过它的方法。