Safari 中 JS 报错:Unhandled Promise Rejection: NotAllowedError

1. 环境:

  • macOS 版本:10.15.3
  • Safari 版本:13.0.5

2. 问题描述:

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

3. 解决方法

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

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

4. 思考

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

你可能感兴趣的:(日常开发的小问题)