1

我正在使用这个演示页面尝试指针锁定 API。但是在运行代码时,我看到浏览器显示一个确认对话框,询问用户是否要隐藏鼠标指针。有什么办法可以防止这个对话框以编程方式出现,让用户有无缝的体验?

4

1 回答 1

0

您的问题可能过于宽泛,因为它实际上很大程度上取决于实现,即特定的浏览器。这已经是一个“不”的微弱线索。

其他 Web API 类似getUserMedia()orgetCurrentPosition()requestFullscreen()也需要确认,并且可能非常打算这样做。用户应随时保留控制权。尤其是使用指针锁,没有经验的用户很容易被困。这是对“不”的另一个强烈暗示。

在某些浏览器(如 Firefox)中,您可以单击“始终允许”,以免再次被询问该域。您甚至可以设置全局标志:例如,关于 WebRTC,您可以media.navigator.permission在 Firefox 或media-stream-cameraChrome 中设置。虽然您可以引导用户这样做,但这可能是您无法以编程方式实现这一点的额外证据,因此另一个“不”。

规格说明了什么?关于高级权限请求的内容不多。他们宁愿定义在允许或拒绝之后会发生什么。虽然GeolocationFullscreen没有,但Media Capture至少提到该方法“提示用户许可”。

似乎没有机会有一天您可以通过代码阻止权限请求。似乎我们必须坚持其他方式来提供无缝体验,例如感性的首次解释或鼓励用户始终授予许可的教程。

于 2015-07-16T12:29:07.360 回答