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. 思考

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值