Safari 中 JS 报错:Unhandled Promise Rejection: NotAllowedError

发布于:2021-09-13 13:25:34

1. 环境:


macOS 版本:10.15.3Safari 版本:13.0.5

2. 问题描述:



在 JS 代码中,直接使用代码执行 的播放。



3. 解决方法


这个权限错误是因为 Safari 默认不允许静默的播放音频,需要通过 UI 交互(比如页面上放个按钮)来触发。可以通过下面的流程获得权限


1?? 点击左上角「Safari浏览器」? 2?? 点击「偏好设置」? 3?? 选中「网站」? 在左侧选中「自动播放」? 4?? 在右侧列表中找到网站,然后下拉控件中选中「允许全部自动播放」。


4. 思考


微信小程序现在的授权也需要通过交互来触发,不能再直接调用方法,让用户点击「同意」那么简单了。可见随着互联网应用程度越来越高,对安全性又提出了更高的要求。

相关推荐