С Safari 11
они обновили политики autoplay
.Это означает, что mouseover
события больше не смогут вызывать звуковые звуки на начальной странице.Он будет работать, как только пользователь выполнит действие.Вы можете увидеть это на своей странице.Просто нажмите на страницу, а затем наведите указатель мыши на свой контент, и он будет работать.
Подробнее об этом можно узнать здесь: https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/
Рекомендуемое решение - использовать элемент пользовательского интерфейса, которыйпользователь должен подтвердить, использует ли он сафари.
В коде это будет выглядеть так:
var promise = document.querySelector('video').play();
if (promise !== undefined) {
promise.catch(error => {
// Auto-play was prevented
// Show a UI element to let the user manually start playback
}).then(() => {
// Auto-play started
});
}