从今天开始,新的稳定版谷歌浏览器将通过浏览器的自动更新系统推出。由于世界许多地方的假期,Chrome 97 的发布被推迟了数周。 Google Chrome 96是 2021 年最后一个主要稳定版本,于 2021 年 11 月 16 日发布。
新版本的谷歌浏览器启动时带有一个有争议的键盘映射 API。该 API 以前无法被某些 Web 体验使用,因为它无法在 iframe 中使用。Microsoft 的 Office Web 应用程序等应用程序无法使用 API 来检测键盘布局上的按键。键盘布局因地区或语言而异。此更改使 iframe 内的 Web 应用程序可以使用该功能。
以下是为什么要实现该功能的官方解释:
getLayoutMap() 与代码结合使用解决了使用不同布局映射(例如英语和法语键盘)识别键盘中实际按下的键的问题,但由于 getLayoutMap() 并非在所有上下文中都可用(不能在 iframe 内使用),在 Outlook Web、Teams 等中显示为嵌入式体验并在 iframe 中运行的 Office Web 应用程序(如 Excel、Word、PowerPoint 等)无法使用此 API。
将键盘映射添加到允许属性列表可以解决此问题。
Mozilla、Apple、Brave 和其他浏览器开发商表达了担忧。这些公司反对在其浏览器中集成的一个关键论点是,网站可以使用该功能进行指纹识别。
苹果在 GitHub 上发表了回应,称:
正如我前段时间亲自指出的那样,所提议的键盘映射 API 暴露了高熵指纹表面。从隐私的角度来看,这是不可接受的。因此,Apple 的 WebKit 团队对按照当前提议/规范实现此功能不感兴趣。
Brave 浏览器的制造商 Brave Software有这样的说法:
Brave 继承自 Chrome 的 Keyboard API 实现,它不向用户提供任何功能(只有 Chrome 和 Opera 支持它,据我所知,没有网站实际使用它)。但是,该 API 可能用于指纹识别。
WICG 键盘地图草案提到该 API 可用于指纹识别:
使用不常见 ASCII 布局(如 Dvorak 或 Colemak)
的用户 使用与其所在区域的默认布局不匹配的 ASCII 布局的用户。例如,美国用户具有活动的英国或法国布局。
Mozilla 最终将键盘映射 API 添加到它不会在 Firefox 网络浏览器中实现的有害 API 列表中。
Google 将在 Chrome 中实现 API,但许多其他浏览器,即使是基于 Chromium 的浏览器,也不会实现它或将禁用该 API,使其无法被网站使用。
相关阅读: