苹果在iOS 13中引入了API DeviceOrientationEvent.requestPermission。它必须在用户操作(单击,点击或等效操作)时触发。
我的问题是结果似乎已被缓存,因此,如果用户拒绝许可,我将无法再次请求访问(使用缓存的值自动实现 promise )。
是否有任何方法可以迫使设备忘记缓存的值,然后再次询问用户访问定向数据的权限(我的意思是它应该再次显示弹出窗口,用户可以在其中允许或拒绝访问)?
这是相关代码:
if (DeviceOrientationEvent && typeof(DeviceOrientationEvent.requestPermission) === "function") {
const permissionState = await DeviceOrientationEvent.requestPermission();
if (permissionState === "granted") {
// Permission granted
} else {
// Permission denied
}
}
最佳答案
尝试简单地退出Safari并重新启动它。
提示会回来。