Я пытаюсь автоматически воспроизвести 4 видео в последовательном порядке. Когда один заканчивается, начинается следующий, до последнего видео. То, что у меня есть, работает так, как задумано во всех браузерах, кроме Safari. В safari он загружает первое видео (00.mp4), успешно переключается на второе видео (01.mp4), и все, не более. Вот то, что я получил, я как бы выясняю, как мне это жаль, если мой код ужасен и неэффективен.
Это мой JavaScript:
function load() {
var video = document.getElementsByTagName('video')[0];
if (video.canPlayType("video/ogg")) {
video.src='00.ogg';
video.addEventListener('ended', function() {
video.src='01.ogg';
video.load();
video.removeEventListener('ended', arguments.callee, false);
video.addEventListener('ended', function() {
video.removeEventListener('ended', arguments.callee, false);
video.src='02.ogg';
video.load();
video.addEventListener('ended', function() {
video.removeEventListener('ended', arguments.callee, false);
video.src='08.ogg';
video.load();
}, false);
}, false);
}, false);
}
else if (video.canPlayType("video/mp4")) {
video.src='00.mp4';
video.addEventListener('ended', function() {
video.src='01.mp4';
video.load();
video.addEventListener('ended', function() {
video.src='02.mp4';
video.load();
video.addEventListener('ended', function() {
video.src='08.mp4';
video.load();
}, false);
}, false);
}, false);
}
else {
window.alert("Blah blah placeholder blah");
}
}
и это соответствующий HTML:
<body onLoad="load()">
<video id="vid" autoplay width="416" height="240" src=""></video>
Любые исправления в том, что я считаю ужасным кодированием, также приветствуются, спасибо.