Vimeo video autoplay не работает в Safari 11: NotAllowedError
С момента последнего обновления Safari до версии 11 некоторые видео перестали работать. Хуже всего то, что иногда, например, один раз в пять попыток, это работает. Я думал, что причина в моем JS-скрипте, который интегрирует Vimeo Player API, но в конечном итоге даже ссылка для вставки Vimeo не работает вообще.
Итак, когда вы открываете встроенное видео в Safari 11, оно не запускается и полностью блокируется. Вы можете увидеть его, открыв т. е. https://player.vimeo.com/video/XXXXXXXX?autoplay=1
в журнале консоли вы можете получить что-то вроде:
Unhandled Promise Rejection: NotAllowedError (DOM Exception 35): The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
3 ответов
вы можете добавить background
param в URL-адрес iframe и src
:
<iframe src="https://player.vimeo.com/video/XXXXXXXX?autoplay=1&background=1>
если ваше видео имеет звук, который вы также можете экспортировать видео без звуковой дорожки вообще. Чем вам, вероятно, не нужно background
param вообще.
загвоздка в том, что Safari 11 блокирует все видео автозапуск, если в нем есть звук.
даже когда видео, как в моем случае, не имеет уровня звука, но экспортируется со звуком без объем. Вы можете увидеть значок sovolume в адресной строке:
потому что safari не позволяет автоматически воспроизводить все видео.
вы можете добавить mousemove
прослушивателя событий. Когда мышь движется, видео начинает играть.
Затем вы должны удалить это событие.
поддержка iOS: автоматическое воспроизведение видео поддерживается с iOS 10+, но требует атрибута playsinline на теге.