我正在使用这个演示页面尝试指针锁定 API。但是在运行代码时,我看到浏览器显示一个确认对话框,询问用户是否要隐藏鼠标指针。有什么办法可以防止这个对话框以编程方式出现,让用户有无缝的体验?
问问题
92 次
1 回答
0
您的问题可能过于宽泛,因为它实际上很大程度上取决于实现,即特定的浏览器。这已经是一个“不”的微弱线索。
其他 Web API 类似getUserMedia()
orgetCurrentPosition()
或requestFullscreen()
也需要确认,并且可能非常打算这样做。用户应随时保留控制权。尤其是使用指针锁,没有经验的用户很容易被困。这是对“不”的另一个强烈暗示。
在某些浏览器(如 Firefox)中,您可以单击“始终允许”,以免再次被询问该域。您甚至可以设置全局标志:例如,关于 WebRTC,您可以media.navigator.permission
在 Firefox 或media-stream-camera
Chrome 中设置。虽然您可以引导用户这样做,但这可能是您无法以编程方式实现这一点的额外证据,因此另一个“不”。
规格说明了什么?关于高级权限请求的内容不多。他们宁愿定义在允许或拒绝之后会发生什么。虽然Geolocation和Fullscreen没有,但Media Capture至少提到该方法“提示用户许可”。
似乎没有机会有一天您可以通过代码阻止权限请求。似乎我们必须坚持其他方式来提供无缝体验,例如感性的首次解释或鼓励用户始终授予许可的教程。
于 2015-07-16T12:29:07.360 回答