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