发布网友 发布时间:2024-10-23 21:16
共1个回答
热心网友 时间:2024-11-17 09:12
浏览器阻止站点在无用户交互下自动播放音频或视频确属明智之举。然而,这一规定在iOS的Safari浏览器中却引发了问题。用户可能会遇到错误提示:"The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission." 这表明当用户交互与音频播放之间存在异步操作时,这一问题便会出现。
解决此问题的方法如下:在网页应用中播放音频时,必须先让用户与页面进行交互,例如点击播放按钮。但若在点击按钮与实际播放音频之间发生异步操作,则不同浏览器的处理方式会有所不同。
例如,在Chrome浏览器中,一旦点击“播放”按钮,音频即能正常播放。然而,在Safari浏览器中,用户可能会遭遇前述错误提示。为解决此问题,建议采取的策略是在一个用户交互中加载音频,接着在另一个交互中播放音频。通过如此设计,无论执行多少个Promise操作,浏览器都不会出现错误。