Navigator.Permissions在Safari 15.5中不确定(用于摄像机权限)
我有一个使用相机设备的应用程序。
我使用getCamerapermession()方法来获取用户访问用户的许可。它适用于Safari更新版本,但不适用于15.5版。
public getCameraPermission = (): Promise<CameraPermissionState> => new Promise((resolve) => {
if ((navigator as any).permissions) {
var gg = (navigator as any).permissions.query({ name: 'camera' });
gg.then(({ state }: { state: CameraPermissionState }) => resolve(state))
.catch(() => resolve(CameraPermissionState.UNKNOWN));
} else {
return resolve(CameraPermissionState.UNKNOWN);
}
})
(导航器作为任何)。如果我从Safari 15.5(带有Mac)运行它,则返回未定义,然后我无法正确检测到Camerapermission。
我也没有移动野生动物园的问题。
我检查了stackoverflow中的相关主题,但是它们要么是地理位置,要么没有工作。
*我可以访问摄像机 *Safari提示摄像机使用用户权限,即使用户接受我仍然获得了权限未定义的
任何想法,我该如何解决这个问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于Safari而言,权限API仍在技术预览中:
因此,您不能在较旧版本上使用它。
caniuse
页面确实列出了 polyfill ,但是我不喜欢知道在野生动物园中是否有效15.5The permissions API is still in technical preview, for Safari:
(source)
As such, you can't use it on older versions.
That
caniuse
page does list a polyfill, but I don't know if and how well that'd work on Safari 15.5