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 блокирует все видео автозапуск, если в нем есть звук.

enter image description here

даже когда видео, как в моем случае, не имеет уровня звука, но экспортируется со звуком без объем. Вы можете увидеть значок sovolume в адресной строке:

enter image description here


потому что safari не позволяет автоматически воспроизводить все видео. вы можете добавить mousemove прослушивателя событий. Когда мышь движется, видео начинает играть. Затем вы должны удалить это событие.


поддержка iOS: автоматическое воспроизведение видео поддерживается с iOS 10+, но требует атрибута playsinline на теге.