借助 Keyboard Lock API,开发者可以为各种用例(包括互动网站、游戏以及远程桌面或应用流式传输)提供沉浸式全屏体验。它通过允许网站使用主机操作系统允许的所有可用按键来实现此目的。
借助 Pointer Lock API,桌面应用可隐藏指针图标,并将鼠标动作解读为其他内容,例如在 3D 世界中环顾四周。
从 Chrome 131 开始,使用这两个 API 都需要权限。您可以检查权限,如以下代码段所示:
const {state} = await navigator.permissions.query({name: 'pointer-lock'});
if (state === 'granted') {
// The Pointer Lock API can be used.
}
const {state} = await navigator.permissions.query({name: 'keyboard-lock'});
if (state === 'granted') {
// The Keyboard Lock API can be used.
}
无需明确请求权限。如果之前未授予权限,浏览器会在第一次请求锁定指针或键盘时显示权限提示。