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