Chrome 80发布更新内容

Chrome 80 Beta版本于2019年12月19日发布

内容索引

渐进式网站应用可以通过Cache Storage API或IndexedDB离线存储图片、视频、文章等内容。但用户如何找到这些内容,他们如何知道这些内容在离线状态下也可以使用?

内容索引API(Content Indexing)提供你的应用已经缓存的媒体信息。新的API可以让你删除、添加、列出资源。浏览器可以使用这些信息显示可离线访问的资源列表。

在Web Workers中使用ECMAScript的模块

Worker的构造函数参数支持了type选项,值为module

const worker = new Worker('worker.js', {
  type: 'module'
});

其他更新内容

自动升级混合内容

在https页面中,Chrome会自动将页面中链接的http内容升级为https协议,即使内容不支持https。当前版本只对音频和视频生效,即https站点中的音频和视频必须支持https协议,否则将无法使用。

压缩流

JavaScript可以处理Gzip和deflate压缩流,通过CompressionStream和DecompressionStream接口实现的。
在这之前,可以通过一些第三方库来实现压缩和解压,但有了这个特性后,开发者可以更简单的对数据进行压缩、解压处理,避免了需要在代码里打包一个压缩器。

联系人选择API

联系人选择API是一个适用于安卓版Chrome的新API,允许用户从联系人列表中选择联系人,并与网站共享有限的信息。

Cookie升级

Chrome 51和Firefox 60中引入了SameSite属性,以允许站点声明cookie是否应限制在同一站点上下文中,从而降低了跨站点请求伪造(CSRF)的风险。
在Chrome 80中,下面的几个向后兼容的行为将被移除。
不允许将SameSite属性默认设置为“None”
SameSite属性现在默认就是宽松,这意味着您的cookie仅可用于顶级导航中的其他站点。正如最初在Chrome中实现的那样,SameSite属性默认为None,这实际上是Web的现状。Cookies具有有效的跨站点用例,但是如果站点所有者以前不希望允许跨站点Cookie的使用,则无法声明或强制执行此类意图。
在不安全的上下文中,不再允许“None”值
SameSite属性现在需要在设置None的同时,设置Secure属性。Secure属性要求cookie只有在安全的环境下(如https)可以被传输。

CSS改进
line-break: anywhere

https://developer.mozilla.org/zh-CN/docs/Web/CSS/line-break

overflow-wrap: anywhere

https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap

解码加密的媒体

现在的功能MediaCapabilities.decodingInfo()可用于加密媒体。该decodingInfo()方法(可在多个浏览器中使用)允许网站获取有关客户端解码能力的更多信息。这使用户能够更明智地选择媒体流,从而实现了诸如针对可用带宽和屏幕尺寸进行顺畅且节能的视频解码等方案。

在Web Payments中委派送货地址和联系信息

现在,使用付款处理程序API ,浏览器可以将送货地址和付款人的联系信息委托给付款处理程序。将收货地址和联系信息的收集委托给付款处理者可以带来更好的用户体验,因为付款应用程序可能比浏览器具有更准确的信息。由于浏览器可以直接显示付款处理程序窗口,而不是先显示付款单UI来收集收货地址和/或付款人的联系信息,因此还可以将结帐步骤减少一个。

获取元数据目标标头

Chrome现在支持Sec-Fetch-DestHTTP请求标头,该标头向服务器公开请求的目的地,并为服务器提供基于安全决策的信息。

HTMLVideoElement.getVideoPlaybackQuality()

此方法检索有关视频播放性能的信息。此类信息可用于向上或向下更改比特率,帧率或分辨率,以提供更好的用户体验。

Offscreen Canvas支持getTransform()
favicon支持使用svg
文字网址片段

之前通过URL锚点可以定位到页面指定id或name上,现在可以通过锚点定位到一段特定的文字内容上。当页面加载完毕后,浏览器会高亮显示,并将内容滚动到浏览器视窗内。

废弃与移除的功能

禁止在页面unload时弹出窗口
在页面关闭中禁止同步XMLHttpRequest()
不建议使用FTP

Chrome 80的FTP功能仅限于显示目录以及未加密的FTP的下载功能

移除Web Components v0
移除-webkit-appearance: button