Я хочу разместить видео на странице HTML5, которое начнет воспроизводиться при загрузке страницы, а после завершения вернется к началу без перерыва. Видео также НЕ должно иметь связанных с ним элементов управления, быть совместимым со всеми «современными» браузерами или иметь возможность полифилла.
Раньше я делал бы это с помощью Flash
и FLVPlayback
, но я бы предпочел держаться подальше от Flash
сферы HTML5. Я думаю, что могу использовать javascript setTimeout
для создания плавного цикла, но что мне использовать для встраивания самого видео? Есть ли что-то, что будет транслировать видео так, как это FLVPlayback
было бы?
источник
javascript
для прослушиванияvideoEnd
события и возвращался к началу, поскольку, насколько я могу судить,loop
атрибут поддерживается не всеми браузерами. Для устройств iOS ониautoplay
никаким образом не поддерживают форму или форму iOS 5, поэтому я просто использовал резервное изображение для мобильных устройств. Еще раз спасибо.autoplay
работает только в Safari, если вы также используетеmuted
: webkit.org/blog/7734/auto-play-policy-changes-for-macosПо состоянию на апрель 2018 года Chrome (как и несколько других основных браузеров) теперь также требует наличия этого
muted
атрибута.Следовательно, вы должны использовать
<video width="320" height="240" autoplay loop muted> <source src="movie.mp4" type="video/mp4" /> </video>
источник
Для iPhone это работает, если вы добавите также playsinline так:
<video width="320" height="240" autoplay loop muted playsinline> <source src="movie.mp4" type="video/mp4" /> </video>
источник
autoPlay loop muted playsInline
Вы можете сделать это двумя способами:
1) Использование
loop
атрибута в элементе видео (упомянутом в первом ответе):2) и вы можете использовать
ended
медиа-событие:window.addEventListener('load', function(){ var newVideo = document.getElementById('videoElementId'); newVideo.addEventListener('ended', function() { this.currentTime = 0; this.play(); }, false); newVideo.play(); });
источник