Safari 中 JS 报错:Unhandled Promise Rejection: NotAllowedError
作者:互联网
1. 环境:
- macOS 版本:10.15.3
- Safari 版本:13.0.5
2. 问题描述:
在 JS 代码中,直接使用代码执行
<audio>
的播放。
3. 解决方法
这个权限错误是因为 Safari 默认不允许静默的播放音频,需要通过 UI 交互(比如页面上放个按钮)来触发。可以通过下面的流程获得权限:
1⃣️ 点击左上角「Safari浏览器」» 2⃣️ 点击「偏好设置」» 3⃣️ 选中「网站」» 在左侧选中「自动播放」» 4⃣️ 在右侧列表中找到网站,然后下拉控件中选中「允许全部自动播放」。
4. 思考
微信小程序现在的授权也需要通过交互来触发,不能再直接调用方法,让用户点击「同意」那么简单了。可见随着互联网应用程度越来越高,对安全性又提出了更高的要求。
标签:Rejection,JS,点击,报错,Safari,自动播放,选中,交互 来源: https://blog.csdn.net/weixin_44273383/article/details/104839600