作为世界知名的浏览器之一, Chrome这个名号我相信各位小伙伴都不会陌生。在今年的1月4日,Chrome 97经过十几天的测试跟大家正式见面了。其实在2021年12月2日Chrome 97就已经结束了测试,但是由于世界许多地方在当时还处于假期,所以发布时间延后了几周,直到2022年1月才发布。2021年的最后一个稳定Chrome版本是于2021年11月16日发布的Chrome 96。
Chrome 97推出了许多新功能:
据Chrome Platform Status上显示Chrome 98将于2022年1月6日至1月13日间进行测试,2月1日发布稳定版。而Chrome 99则是在2月3日至2月10日间进行测试,稳定版要等到3月1日才能正式上线。
在Chrome97推出的这些功能中,有一个具有争议的功能叫做键盘MAP API。由于该API无法在iframes内使用,这就导致了它在某些网络应用中使用不了。比如微软的Office网络应用程序就不能使用该API来检测键盘布局上的按键。并且由于键盘布局会因国家地区以及语言的差异而产生不同。这一变化就使得某些情况下iframe内的网络应用可以使用该API。
与代码结合使用的getLayouMap(),解决了识别不同键盘布局上的按下的实际按键的问题,例如英语和法语键盘的不同按键布局。但由于getLayouMap()并不是在任何情况下都可用(不能在iframe内使用),所以例如Excel、Word、PowerPoint等Office Web上的应用,在Outlook Web、Teams等微软应用组件中使用是都会以嵌入式使用该API。如果是自iframe内运行,该API就会失效。当然,你可以将键盘映射添加到许可属性列表来解决这个问题。
针对该API产生的问题,Mozilla、Apple、Brave以及其他浏览器的表示对此很担忧。这些公司提出他们将反对在其浏览器中进行整合,原因是因为网站可以利用该功能来进行用户的网络指纹识别。
Apple在GitHub上发表了一份回应称,因该API暴露了一个高熵的网络指纹表面。这可能会伤害用户的个人隐私。因此Apple公司的WebKit团队对实现或规范这一功能不感兴趣。于此同时Brave浏览器的Brave Software也表示,在Brave浏览器上确实继承了Chrome的键盘API功能,但并不会将它提供给任何用户,现在貌似除了Chrome和Opera支持该API,没有一个网站正在使用它。而且,该API真的可能会被用于网络指纹识别。
Web平台孵化器社区组WICG的键盘布局草案提到,该API可用于对以下人员进行网络指纹识别。
Mozilla最终将该键盘布局API加入到有害API列表中,因此它不会在Firefox浏览器中出现。除了Google将在Chrome浏览器中实施该API,其他的大部分浏览器,甚至那些基于Chromium制作的浏览器,都不会实施该API,或者将禁用该API,以此来避免网站利用它。
参考链接:Google Chrome 97 introduces controversial keyboard API - gHacks Tech News