Chrome 80 中的弃用和移除内容

Joe Medley
Joe Medley

禁止在页面关闭中使用同步 XMLHTTPRequest()

Chrome 现在不允许在网页期间同步调用 XMLHTTPRequest() 在用户离开页面或关闭页面时关闭。 这适用于 beforeunloadunloadpagehidevisibilitychange

为确保在网页卸载时将数据发送到服务器,我们建议您 sendBeacon()Fetch keep-alive。目前,企业用户可以使用 AllowSyncXHRInPageDismissal 政策标志,开发者可以使用源站 试用标志 allow-sync-xhr-in-page-dismissal,以允许同步 XHR 请求 。这是一项暂时的“拒绝联系”状态我们期望 在 Chrome 88 中移除此标志。

如需详细了解此方法和替代方案,请参阅在页面关闭期间禁止同步 XMLHTTPRequest()

打算移除 | Chrome 平台状态 | Chromium bug

不再支持 FTP

Chrome 中的当前 FTP 实施不支持加密 或代理浏览器中的 FTP 使用率过低 对现有 FTP 客户端进行改进已无所谓。在 所有受影响的平台上都推出了更加强大的 FTP 客户端。

Chrome 72 不再支持通过 FTP 提取文档子资源, 顶层 FTP 资源的呈现方式。目前正在前往 FTP 网址结果 以根据资源类型显示目录列表或下载内容。 Google Chrome 74 及更高版本中存在一个错误,导致对访问 通过 HTTP 代理的 FTP 网址。Google 已彻底取消对 FTP 的代理支持 Chrome 76。

Google Chrome 的 FTP 实施的其余功能会受到限制 显示目录列表或 未加密连接。

弃用时间表暂定如下:

Chrome 80(在 2020 年 2 月是稳定版)

对于非企业客户端,FTP 默认处于停用状态,但也可能会处于启用状态 使用 --enable-ftp--enable-features=FtpProtocol 命令行 flag。或者,您也可以使用 #enable-ftp 来开启此功能。 chrome://flags 中的选项。

Chrome 81(在 2020 年 3 月是稳定版)

默认情况下,安装的所有 Chrome 都会停用 FTP,但该功能可能会开启 使用 --enable-ftp--enable-features=FtpProtocol 命令行 flag。

Chrome 82(在 2020 年 4 月是稳定版)

FTP 支持将被彻底取消。

打算移除 | Chrome 平台状态 | Chromium bug

禁止在页面卸载期间显示弹出式窗口

在卸载过程中,网页可能无法再使用 window.open() 打开新网页。通过 Chrome 弹出式窗口拦截器原本已禁止此操作,但现在,无论系统是否 是否启用了弹出式窗口拦截器。

企业可以使用 AllowPopupsDuringPageUnload 政策标志来允许 弹出窗口Chrome 预计会在 Chrome 82 中移除此标志。

打算移除 | Chromestatus Tracker | Chromium bug

已移除非源干净的 ImageBitmap 序列化和传输

现在,如果脚本尝试序列化或传输 非源干净的 ImageBitmap。非源干净的 ImageBitmap 是指 包含来自未经过 CORS 逻辑验证的跨源图片的数据。

打算移除 | Chrome 平台状态 | Chromium bug

协议处理现在需要安全上下文

现在,registerProtocolHandler()unregisterProtocolHandler() 方法 需要安全的上下文。这些能够重新配置客户端状态的方法 以允许通过 。

registerProtocolHandler() 方法为网页提供了一种注册机制 在用户同意后自行处理协议。例如,基于网络的 电子邮件应用可以注册以处理 mailto: 架构。相应的 unregisterProtocolHandler() 方法允许网站放弃其 协议处理注册。

打算移除 | Chrome 平台状态 | Chromium bug

Web Components v0 已移除

Web Components v0 现已从 Chrome 中移除。Web Components v1 API 是 已在 Chrome、Safari、Firefox 和(即将推出)中推出的网络平台标准 Edge。如需升级方面的指导,请参阅 Web 组件更新:需要更多时间升级到 v1 API。通过 以下功能现已被移除。此弃用涵盖所有 。

自定义元素

打算移除 | Chrome 平台状态 | Chromium bug

HTML 导入

打算移除 | Chrome 平台状态 | Chromium bug

阴影 DOM

打算移除 | Chrome 平台状态 | Chromium bug

移除了任意元素的 -webkit-appearance:button

-webkit-appearance:button 更改成了仅适用于 <button><input> 按钮。如果为不受支持的元素指定了 button,该元素将: 默认外观。其他所有-webkit-appearance关键字均已包含 此类限制。

打算移除 | Chrome 平台状态 | Chromium bug

废弃政策

为了确保平台的健康运行,我们有时会从 Web 平台中移除运行正常的 API。我们移除内容的原因可能有很多种 API,例如:

  • 它们已被较新的 API 取代。
  • 为反映规范变更,我们更新了这些政策,以便与其他浏览器保持一致和一致性。
  • 这些是早期实验,在其他浏览器中从未实现过,因此可能会增加网络开发者的支持负担。

其中一些更改只会影响极少数网站。为了提前缓解问题,我们会尽量提前通知开发者,以便他们做出必要更改,确保网站正常运行。

Chrome 目前有 弃用和移除 API 的流程,实质上是:

  • blink-dev 邮寄名单中发布公告。
  • 当在网页上检测到使用情况时,您可以在 Chrome 开发者工具控制台中设置警告并指定时间刻度。
  • 等待、监控,然后在使用量下降时移除该功能。

您可以在 chromestatus.com 上使用 “已弃用”过滤条件 查找所有已弃用功能的列表,也可以使用“已移除的过滤条件”应用“已移除”过滤条件查看已移除的功能。我们还将尝试总结这些博文中的一些更改、推理和迁移路径。