我们有一个网站循环播放Vimeo ID的播放列表,嵌入iFrame播放器,直到视频完成播放,销毁所述I帧并重新开始下一个视频ID。这似乎工作正常,但在任意数量的闲置时间后停止工作。我们的测试是在OSX上的Chrome 59中进行的。以下是最终在我们的控制台中出现的错误的屏幕截图。
As this is my first post, here's the link to the screenshot
我们不确定是什么原因引起的。任何帮助将不胜感激!
编辑:这是负责创建/销毁iframe的Javascript。此外,该项目正在使用AngularJS,但我认为它并不相关。 :
var iframe_wrap = document.getElementById('player-wrap');
var iframe = document.getElementById('player');
var player = $f(iframe);
player.addEvent('ready', function() {
player.addEvent('finish', onFinish);
});
function onFinish() {
// Remove current iframe
iframe.parentNode.removeChild(iframe);
iframe = null;
player = null;
// Video increment
if((ctrl.currentVideo + 1) < ctrl.currentPlaylist.length) {
ctrl.currentVideo += 1;
}
else {
ctrl.currentVideo = 0;
}
// Create new iframe
var newPlayer = '<iframe id="player"
src="'+ctrl.currentPlaylist[ctrl.currentVideo].urlVimeo+'"
frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>';
if(ctrl.currentPlaylist[ctrl.currentVideo].contentType =='scenario'){
iframe_wrap.innerHTML = newPlayer;
}
iframe = document.getElementById('player');
player = $f(iframe);
player.addEvent('ready', function() {
player.addEvent('finish', onFinish);
});
$scope.$apply();
}