Иногда мое видео HTML5 не генерирует событие «завершение» на iPad. Кажется, это происходит только тогда, когда я опускаю атрибут «controls» и начинаю воспроизведение с javascript. Обычно это работает нормально в первый раз, но во второй раз видео воспроизводится, но не генерирует событие «завершение». Я вызываю «load()» после каждого воспроизведения, чтобы вернуться к началу клипа (потому что поиск вообще не работает — см. эту тему). У меня есть обходной путь, который заключается в отслеживании событий «timeupdate» и выполнении моих действий в конце игры, когда vid.currentTime>=vid.duration
, но мне интересно, сталкивался ли кто-нибудь еще с этой проблемой. Далее следует некоторый соответствующий код.
Ура - Крис
Функция загрузки документа:
function load() {
var vid = document.getElementById('vid');
vid.addEventListener('ended', function() {
alert('video ended');
vid.load();
},false);
}
HTML:
<body onload="load();">
<h1>HTML5 Video Test</h1>
<input type="submit" value="Play" onclick="document.getElementById('vid').play();">
<video id="vid" src="test.mov" width="640" height="480"></video>
</body>