Chrome 51 中的 API 弃用和移除情况

Joe Medley
Joe Medley

在几乎每个版本的 Chrome 中,我们都会对该产品及其性能以及 Web 平台的功能进行大量更新和改进。

Chrome 51(2016 年 4 月)对 Chrome 进行了多项更改。

移除了对 SPDY/3.1 的支持

要点:由于 HTTP/2 的支持已广泛普及,因此可以停用 SPDY/3.1 支持。

移除意图 | Chromestatus 跟踪器 | Chromium bug

SPDY/3.1 是一个实验性应用层协议,与 HTTP/1.1 相比,其性能得到了提升。例如,它通过连接多路复用和服务器推送来实现这一点。它的许多功能都已纳入到 HTTP/2 中,后者于去年 5 月作为 RFC 发布。由于主要服务器和客户端都支持 HTTP/2,因此我们决定从 Chrome 中移除 SPDY/3.1。

移除 TLS 下一次协议协商 (NPN)

要点:在废弃 SPDY 的过程中,我们移除了 NPN,它之前已替换为 ALPN。

移除意图 | Chromestatus 跟踪器 | Chromium bug

NPN 是用于协商 SPDY(以及在过渡期间协商 HTTP/2)的 TLS 扩展。在标准化过程中,NPN 被 ALPN 取代,后者于 2014 年 7 月以 RFC 7301 发布。我们打算在移除 SPDY 的同时移除 NPN。

移除了 onbeforeunload 对话框中的自定义消息

TL;DR:窗口的 onbeforeunload 属性不再支持自定义字符串。

移除意图 | Chromestatus 跟踪器 | Chromium bug

窗口的 onbeforeunload 属性可设置为一个函数,该函数会返回一个字符串,并在对话框中向用户显示该字符串,以确认用户是否想离开。这是为了防止用户在导航过程中丢失数据。遗憾的是,这类应用经常被用来欺骗用户。

从 Chrome 51 开始,系统将不再向用户显示自定义字符串。Chrome 仍会显示一个对话框以防止用户丢失数据,但其内容将由浏览器而非网页设置。

此项变更将使 Chrome 与 Safari 9.1 及更高版本以及 Firefox 4 及更高版本保持一致。

<input type=search> 的 results 属性已废弃

要点results 属性即将弃用,因为它不属于任何标准,并且在各个浏览器的实现方式不一致。

移除意图 | Chromestatus 跟踪器 | Chromium bug

results 值仅在 webkit 中实现,并且在实现该值的浏览器中行为极不一致。例如,Chrome 会向输入框添加放大镜图标,而在桌面版 Safari 中,它会控制点击放大镜图标后在弹出式窗口中显示的已提交查询的数量。由于这不属于任何标准,因此即将被弃用。

如果您仍需要在输入字段中添加搜索图标,则必须为该元素添加一些自定义样式。为此,您可以添加背景图片并在输入字段上指定左内边距。

    input[type=search] {
      background: url(some-great-icon.png) no-repeat scroll 15px 15px;
     padding-left:30px;
    }

预计会在 Chrome 53 中移除。