У меня есть видео (предназначенное для фоновых целей), которое отключено, и я намерен автоматически воспроизвести его. Если бы я поместил следующий код в HTML-файл:
<video playsinline autoplay muted loop>
<source src="https://res.cloudinary.com/dthskrjhy/video/upload/v1545324364/ASR/Typenex_Dandelion_Break_-_Fade_To_Black.mp4">
</video>
На Chrome все будет работать нормально.
Однако, если бы я вставил точно такое же видео с помощью DOM-манипуляции, у меня возникли бы проблемы с Chrome, но с успехом в других браузерах, таких как Firefox.
<html>
<body>
</body>
<script>
function render() {
const video = document.createElement('video');
video.setAttribute('muted', true);
video.setAttribute('autoplay', true);
video.setAttribute('loop', true);
video.setAttribute('playsinline', true);
const source = document.createElement('source');
source.setAttribute('src', 'https://res.cloudinary.com/dthskrjhy/video/upload/v1545324364/ASR/Typenex_Dandelion_Break_-_Fade_To_Black.mp4');
video.appendChild(source);
document.body.appendChild(video);
}
render();
</script>
</html>
Похоже, что Chrome блокирует автоигру . Общие решения должны быть либо отключены (что я уже делаю), либо использовать dom-манипуляции для вызова play (что не работает). Есть ли способ заставить это работать после вставки видео в DOM. Причина, по которой я забочусь, заключается в том, что мой фактический веб-сайт требует, чтобы все было отображено (мой сайт находится в ember.js).
Это в версии Chrome 71.
Спасибо!