Автовоспроизведение фонового видео в Chrome Autoplay Policy

ui-unicorn.co.uk спросил: 28 апреля 2018 в 08:38 в: google-chrome

Итак, в последнем хроме, по-видимому, была изменена политика автозапуска, что в свою очередь ломает каждый сайт, на котором есть фоновый фоновый файл, который должен автовоспроизвести. Мне интересно, есть ли у кого-нибудь умные работы, которые могут "решить" проблему? кнопка или решение "войти в страницу" было бы ужасным способом работы, особенно для фонового видео).

Вот что вы теперь получаете в консоли, если пользователь не взаимодействует с документом:

  Uncaught (in promise) DOMException: play() failed 
because the user didn't interact with the document first.

Ниже приведено изменение от google: https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

1 ответ

James Zilch ответил: 06 мая 2018 в 09:26

Я тоже искал ответ. Я не вижу ясного обходного пути, так как трудно обойти, что представляется строгой политикой. Похоже, вы говорите, что Chrome предлагает следующее

var promise = document.querySelector('video').play();if (promise !== undefined) {
  promise.then(_ => {
    // Autoplay started!
  }).catch(error => {
    // Autoplay was prevented.
    // Show a "Play" button so that user can start playback.
  });
}

Мне интересно, просто ли добавление приглушенного видео в автовоспроизведение поможет уменьшить и ускорить согласование с новой политикой Chrome, пользователь может снова увидеть эти видео. Другой вариант, похоже, возвращается с использованием тега видео HTML5 обратно в iframe и добавляет allow="autoplay. По-видимому, это позволяет автовоспроизведение по умолчанию. Определенно кажется, что шаг назад использовать iframe вместо видеотега HTML5, но это, по-видимому, единственный способ правильно управлять URL-адресом, чтобы удостовериться, что видео можно установить как один и тот же домен.