谷歌今天推出适用于Windows,Mac,Linux,Android和iOS的Chrome 77。该版本包括新的性能指标,表单功能和Origin Trials。您现在可以使用Chrome的内置更新程序更新到最新版本,也可以直接从google.com/chrome下载。
Chrome拥有超过10亿用户,是浏览器和Web开发人员必须考虑的主要平台。实际上,随着Chrome的定期添加和更改,开发人员通常必须始终掌握所有可用内容 - 以及已弃用或删除的内容。例如,Chrome 77会删除信用卡发卡行网络作为付款方式名称(例如“amex”,“万事达卡”和“签证”)。
绩效指标,表格和原始试验
谷歌痴迷于加速网络,而Chrome则是其主要工具。Chrome 77引入了两项新的性能指标,可帮助开发人员衡量网页主要内容的加载速度,并使用户可以看到这些内容。
第一个新增内容是Largest Contentful Paint,它试图通过使用最大的内容元素作为代理来提供更有意义的数据,以便用户可以看到页面的主要内容。
第二个是PerformanceEventTiming接口,它提供有关第一个离散用户交互的延迟的时序信息。具体来说,Chrome会测量按键,鼠标按下,单击或指针向下和向上指针的组合。这是EventTiming API的一个子集,但可以提前公开,以帮助测量和优化响应。
Chrome 77还添加了两项支持自定义表单控件的新功能。该formdata事件(添加到表单元素)允许站点使用JavaScript而不是隐藏元素将数据添加到表单。传递的事件包括一个FormData包含正在提交的数据的对象,现在可以对其进行修改。
最后,Chrome 77还引入了Origin Trials,让您可以尝试新功能,并为Web标准社区提供有关可用性,实用性和有效性的反馈。第一个新功能是Contact Picker API,一个按需选择器,允许用户从其联系人列表中选择条目,并与网站共享所选条目的有限详细信息。
企业功能
Chrome 77包含站点隔离改进功能,可保护攻击者控制的网站中的跨站点数据,如Cookie和HTTP资源。对于移动用户输入密码的站点,现在也会在某些Android设备上启用站点隔离。
IT管理员现在可以使用BrowserSwitcherExternalGreylistUrl策略定义永远不会触发浏览器切换的XML文件的URL。还有一个新的chrome:// browser-switch / internals页面,用于验证是否正在遵循旧版浏览器支持规则。
Chrome 77还具有最新的首次运行体验,可通过热门的Google服务(Gmail,YouTube,Google地图,Google新闻和Google翻译)设置新用户。它还会提示您将Chrome设置为默认浏览器。您可以使用PromotionalTabsEnabled策略禁用新流。
新版本还允许您使用--guest命令行标志或新的BrowserGuestModeEnforced策略默认启动访客浏览。通过访客浏览,浏览活动不会写入磁盘,也不会在浏览器会话之间保留。
Android和iOS
适用于Android的Chrome 77在Google Play上推出缓慢,但完整的更新日志尚未完成。
适用于iOS的Chrome 77正在Apple的App Store上推出。它包括四个改进:
新的语言设置页面,让您可以更好地控制Chrome为其提供翻译的语言。
您可以在特定时间范围内清除浏览数据,例如过去一小时或过去一天。
使用添加的缩略图和图标可以更轻松地阅读多功能框建议。
轻松关闭恶意显示JavaScript对话的标签。
确保只翻译您不理解的语言对于polyglots应该很方便。对于其他人来说,还有更精细的控件来清除浏览器数据。
安全修复程序
Chrome 77实现了52种安全修复程序。以下是外部研究人员发现的:
[$ TBD] [999311]严重CVE-2019-5870:在媒体中免费使用。2019-08-29,奇虎360阿尔法队的光功报道
[$ 7500] [990570]高CVE-2019-5871:Skia中的堆溢出。匿名于2019-08-03报道
[$ 3000] [981492]高CVE-2019-5872:在Mojo中使用后免费。由哲金报道,刘路遥,来自奇虎360成都安全响应中心,2019-07-05
[$ 3000] [989497]高CVE-2019-5873:iOS上的URL栏欺骗。Khalil Zhani在2019-07-31报道
[$ 3000] [989797]高CVE-2019-5874:外部URI可能会触发其他浏览器。James Lee(@Windowsrcer)于2019-08-01报道
因此,Google为这个版本花费了至少33,500美元的bug奖励。与往常一样,单独的安全修复程序应该足以让您升级。
开发者功能
此版本中的其他开发人员功能包括:
输入密钥提示:enterkeyhint内容属性是
元素的枚举属性,用于指定在虚拟键盘上作为回车键显示的操作标签(或图标)。这允许作者自定义输入键的表示,以使其对用户更有帮助。这个属性将之一enter,done,go,next,previous,search,或send。
对Document.domain的功能策略控制:文档域策略管理对document.domain的访问。它默认启用,如果禁用,尝试设置document.domain将引发错误。
布局不稳定性监控:将LayoutShift接口添加到Performance API,允许开发人员监控DOM元素屏幕位置的更改。
将“referer”标题长度限制为4kB:当referer标题大小超过4kB时,将标题向下剥离到原点。
限制registerProtocolHandler()URL参数HTTP / HTTPS:将registerProtocolHandler()现在只接受HTTP或HTTPS模式的网址。
Intl.NumberFormat的新功能:通过添加对度量单位,货币和符号显示策略以及科学和紧凑表示法的支持,可以改善Intl.NumberFormat此更改。
Overscroll Behavior Logical Longhands:添加CSSflow-relative属性,用于通过逻辑维度控制过度滚动行为。flow-relative属性是相对于内容流解释的属性。新属性是overscroll-behavior-inline和overscroll-behavior-block。
PerformanceObserverInit Buffered Flag:添加一个buffered标志,observer.observe()以便PerformanceObserver接收在执行调用之前创建的条目。
RTCPeerConnection.onicecandidateerror添加了incecandidateerror事件,该事件提供有关WebRTC ICE候选者收集失败的详细信息,包括由STUN(RFC5389)和TURN(RFC5766)定义的失败。
RTCPeerConnection.restartIce()添加了一个触发ICE重启的方法,该方法导致WebRTC连接尝试重新连接。通过将iceRestart参数传递给Chrome,此功能已在Chrome中提供createOffer()。restartIce()是这个方法的一个版本,无论如何都可以使用signalingState。
通过服务工作者保留请求优先级:在通过服务工作者时保留请求的原始优先级。以前,通过服务工作者的所有请求都将获得“高”优先级。
服务工作者支持基本HTTP身份验证:即使请求来自服务工作者,也会显示HTTP身份验证对话框。这显示了收到HTTP 401响应时显示的本机登录对话框。
停止动作为媒体会话:添加stop一个MediaSessionAction用于调用MediaSession.setActionHandler()。动作是专门与诸如暂停或播放之类的公共媒体功能相关联的事件。该stop操作处理程序被调用时,如果合适的部位应停止播放并清除状态。
Web Payments:在无效的“基本卡”数据上引发TypeError。该PaymentRequest构造函数现在抛出一个TypeError无效时supportedNetworks或supportedTypes基本卡支付指定。
有关新功能的详细信息,请查看Chrome 77里程碑热门列表。
谷歌每六周左右发布一个新版本的浏览器。Chrome 78将于10月底到货。