我有一个简单的网页,它在Chrome和Mozilla中完全正常工作的声音,但是当谈到Safari时,它无法正常工作。 我有什么可以做的吗?
答案 0 :(得分:0)
Safari 11
他们已更新autoplay
政策。这意味着mouseover
事件将无法再触发初始页面上的音频声音。一旦用户采取行动,它将起作用。您实际上可以在您的页面上看到这一点。只需点击该页面,然后将鼠标悬停在您的内容上即可生效。
点击此处了解详情:https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/
推荐的解决方法是使用UI元素,用户需要确认他是否正在使用Safari。
在代码中,这将是这样的:
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
});
}