在几乎每个版本的 Chrome 中,我们都会对该产品及其性能以及 Web 平台的功能进行大量更新和改进。本文介绍了 Chrome 52 中的变更。截至 6 月 9 日,Chrome 52 处于 Beta 版阶段。此列表随时都可能发生变化。
弃用 MediaStream ended 事件和属性以及 onended 属性
要点:ended
事件和属性以及 onended
事件处理程序已被弃用,因为它们已从媒体捕获和串流规范中移除。
移除意图 | Chromestatus 跟踪器 | Chromium bug
ended
事件和 onended
事件处理程序已从 WebRTC 规范中移除大约三年。想要监控事件的开发者应使用 MediaStreamTracks
,而不是 MediaStreams
。
预计会在 Chrome 53 中移除。
在触摸事件期间屏蔽来自跨源 iframe 的弹出式窗口(点按手势除外)
要点:Chrome 将开始禁止在与跨源 iframe 内点按不对应的轻触事件上执行弹出式窗口和其他敏感操作。
移除意图 | Chromestatus 跟踪器 | Chromium bug
与相应的鼠标事件相比,触摸事件在本质上可能比较模糊。例如,如果用户在屏幕上滑动手指,是滑动切换开关还是滚动视图?iframe 中的某些第三方内容利用了这种模糊性,故意停用包含页面的滚动功能。
为解决此问题,系统将禁止对来自跨源 iframe 的触摸事件执行弹出式窗口和其他敏感操作。touchend 事件将继续按原样运行。
废弃 postMessage() 的过载
要点:postMessage()
接口的一个不必要且鲜少使用的变体(即 postMessage(message, transferables, targetOrigin)
)即将被弃用。
移除意图 | Chromestatus 跟踪器 | Chromium bug
postMessage()
方法是一种在不同来源的网页脚本之间安全通信的方式。WebKit/Blink 支持以下三个版本:
postMessage(message, targetOrigin)
postMessage(message, targetOrigin, transferables)
postMessage(message, transferables, targetOrigin)
此列表中的最后一项是规范演变和实现历史的意外产物。由于很少使用,因此该功能将被弃用,日后也会被移除。这同时适用于 window.postMessage()
和 worker.postMessage()
。
预计会在 Chrome 54 中移除。
移除了对 X-Frame-Options 的支持 标记
要点:为遵循规范并提高与其他浏览器的一致性,我们将移除对 <meta>
标记内 X-Frame-Options
的支持。
X-Frame-Options
HTTP 响应标头用于指示浏览器是否可以在 <frame>
、<iframe>
或 <object>
标记中呈现网页。这样,网站就可以避免点击劫持,因为此类网页无法嵌入到其他网站中。X-Frame-Options 规范的当前版本明确限制了用户代理在 <meta>
标记中支持此字段。
为了遵循规范并提高与其他浏览器的一致性,我们移除了对 <meta>
标记内的 X-Frame-Options
的支持。
移除非主要按钮点击事件
要点:非主要鼠标点击不再触发点击事件,但 MouseEvent.button
仍可用。
移除意图 | Chromestatus 跟踪器 | Chromium bug
为了使 Chrome 符合 UIEvents 规范,我们将移除非主鼠标按钮的点击事件。非主按钮因设备而异。通常,这意味着除鼠标右键和左键以外的任何按钮。请注意,您可能仍可以使用发送到 mousedown
或 mouseup
等事件的 MouseEvent.button
属性检索点击的确切按钮。
移除了 requestAutocomplete()
requestAutocomplete()
函数允许浏览器使用自动填充功能按需填写表单。但两年多来,只有 Blink 支持此功能,而且使用率较低。因此,Chrome 52 中移除了 requestAutocomplete()
。