Javascript 如何检查是否在Chrome mobile browser中授予/阻止增强现实权限?
问题: Chrome浏览器中的WebXR需要明确的用户同意(权限)才能进行空间跟踪,但我们遇到了阻止它的用户的问题。因此,为了向存在此问题的用户提供相关的用户体验(与可能发生的其他错误相反),我们需要检查Chrome中的权限(增强现实)是否已授予,如下图所示: 我所尝试的: 虽然中未列出“xr”权限描述符名称,但中对其进行了描述。但是,下面的代码返回一个错误Javascript 如何检查是否在Chrome mobile browser中授予/阻止增强现实权限?,javascript,android,google-chrome,permissions,webxr,Javascript,Android,Google Chrome,Permissions,Webxr,问题: Chrome浏览器中的WebXR需要明确的用户同意(权限)才能进行空间跟踪,但我们遇到了阻止它的用户的问题。因此,为了向存在此问题的用户提供相关的用户体验(与可能发生的其他错误相反),我们需要检查Chrome中的权限(增强现实)是否已授予,如下图所示: 我所尝试的: 虽然中未列出“xr”权限描述符名称,但中对其进行了描述。但是,下面的代码返回一个错误 navigator.permissions.query({name: 'xr'}); 错误(我想这是意料之中的,因为它不在权限注册表中
navigator.permissions.query({name: 'xr'});
错误(我想这是意料之中的,因为它不在权限注册表中,我只是想也许Chrome已经扩展了它):
我也尝试过“沉浸式ar”、“xr空间跟踪”等,但没有成功。“xr spatial tracking”是一种功能策略,但如果我理解正确,功能策略的目的不是授予权限,而是限制页面上某些元素(例如iFrame)的权限
WebXR还使用摄像机,最有可能的是陀螺仪和加速计,但这些设备的权限不受“允许/阻止增强现实”的影响。我认为这是因为相机/跟踪部件在设备上本机运行,而不是在浏览器中运行(我可能弄错了)
示例:
您可以使用Chrome浏览器上的移动设备访问,在url旁边的tablock按钮下查看“允许/阻止增强现实”权限
如何检查这些权限是否已授予或阻止?我不是问如何用权限请求提示用户,只是权限状态的只读值就可以了
谢谢大家! 您现在能做的最好的事情就是在用户手势期间请求空间跟踪,如果承诺被拒绝,则显示UI 通过读取Chrome源代码,可以查看Chrome支持的权限名称集它不支持“xr”。我已提交文件添加它,并将其添加到W3C的WebXR测试套件中 下面是Chrome在该API中支持的内容列表。其中一些可能是实验性的
- 加速计
- 可访问性事件
- 环境光传感器
- 后台提取
- 背景同步
- 摄像机
- 剪贴板读取
- 剪贴板写入
- 显示捕获
- 字体存取
- 地理定位
- 陀螺仪
- 空闲检测
- 磁强计
- 传声器
- 迷笛
- nfc
- 通知
- 付款处理人
- 周期性背景同步
- 持久存储
- 推送(仅使用{userVisible:true})
- 屏幕尾流锁
- 存储访问
- 系统尾流锁
- 窗口放置
TypeError: Failed to execute 'query' on 'Permissions': The provided value 'xr' is not a valid enum value of type PermissionName.