微软和谷歌正在为基于 Chromium 的浏览器(如 Chrome 和 Edge)开发一个名为“VirtualKeyboard”的新 API,此 API 可以更新 Windows、macOS、Chrome OS 和 Android 上用于输入的屏幕键盘,并提供更好的控制。
根据文档的描述,Virtual Keyboard(VK) 是公开的 JavaScript API,它将屏幕键盘的控制权交给了 Web 开发者。从目前的情况来看,开发者对 VK 的控制权非常有限,而且键盘的性能对于开发者希望用户使用网站的内置键盘在 Android 上输入密码的场景并不理想。
微软和谷歌正在研究一项新的功能,该功能将处理隐藏/显示键盘和控制虚拟键盘改变可见性时,Visual Viewport 是否调整大小。理论上,VirtualKeyboard API 将为开发者对虚拟键盘何时显示或隐藏提供更多的控制。
微软表示:“该 API 会影响触发事件,描述 VK 和布局 Viewport 的交叉点,并可以选择浏览器不调整其视觉 Viewport 的大小,以响应 VK 可见性的变化”。
与 Web 浏览器或 Web 应用不同,原生 Android 或 Windows 应用支持监听操作系统的事件。通过利用这个新的 API,开发者在桌面和移动端为 Web 带来了增强的体验。因此,网站上的可编辑区域将始终保持可见。
开发者也可以选择加入一种新的风格,停靠的虚拟键盘将覆盖内容,开发人员将能够为虚拟键盘优化布局 Viewport。例如,当虚拟键盘出现在手机上时,浏览器不会将可编辑的元素滚动到视图中,也不会在设置 overlayscontent 标志时调整视觉/布局 Viewport 的大小以匹配新窗口的大小。
微软已确认更新的 API 将支持具有虚拟键盘的触摸平台上的浏览器,其中包括 Windows、Chrome OS 和 Android,不适用于 Mac、Linux 或 Android WebView。
根据谷歌的状态页面,Chrome 将获得对桌面和移动版本 94 的 VirtualKeyboard API 的支持。
此外,Chrome 还将在下一次更新中提供内置的屏幕截图工具和其他改进。