在几乎每个版本的 Chrome 中,我们都看到了针对产品及其性能以及网络平台功能的大量更新和改进。本文介绍了自 4 月 27 日起 Chrome 59(Beta 版)中的弃用和移除功能。此列表随时可能发生变化。
暂时对某些 blob 停用 navigator.sendBeacon()
navigator.sendBeacon()
函数已从 Chrome 39 开始可用。按照最初的实现方式,函数的 data
参数可以包含类型未列入 CORS 安全名单的任何任意 blob。虽然还没有人试图利用它,但我们相信这是一个潜在的安全威胁。由于我们没有立即解决此问题的合理修复,因此暂时无法对类型未列入 CORS 安全名单的 blob 调用 sendBeacon()
。
虽然此项变更已针对 Chrome 60 实施,但目前已合并到 Chrome 59 中。
从 WebVR 中移除不在修订后的规范中的功能
WebVR 的当前实现(最初在 Chrome 52 中实现)包含一些不在最终规范中的方法和属性。针对从 Chrome 56 中开始的源试用功能添加了弃用消息。这些功能正在被移除。具体包括:
VRDisplay.getPose()
VRDisplay.resetPose()
VRDisplay.isConnected
VRDisplayCapabilities.hasOrientation
VREyeParameters.fieldOfView
实验意图 | Chromestatus Tracker | Chromium 错误 | 源试用的最新结果
从 Service Worker 中移除 FileReaderSync
Service Worker 规范一直都有(非规范)注释,即“不得在 Service Worker 内启动任何类型的同步请求”,以避免阻塞 Service Worker(因为阻塞 Service Worker 会阻塞来自受控页面的所有网络请求)。但是,Service Worker 中仍然提供 FileReaderSync
等同步 API。FileReaderSync
在 Chrome 57 中已废弃。它已从 Chrome 59 中移除。
打算弃用 | Chromestatus Tracker | Chromium 错误
移除了非标准的 DeviceOrientation 事件初始化函数
一段时间以来,浏览器 API 呈现出一种普遍趋势:不再使用初始化函数,而是改用对象构造函数。最新版本的 DeviceOrientation 事件规范也遵循这一趋势,即要求 DeviceOrientationEvent
和 DeviceMotionEvent
的构造函数。
由于 Chrome 在 Chrome 59 中默认启用这些构造函数,因此还移除了旧版初始化函数 initDeviceMotionEvent()
和 initDeviceOrientationEvent()
。Edge 已废弃初始化函数,Firefox 已提供构造函数。
移除了悬停/任何悬停媒体查询的“按需”值
大约一年前,该规范中移除了悬停/任何悬停媒体查询的“按需”值。因此,这些媒体查询已从 Chrome 59 中移除。
意图移除 | Chromestatus Tracker | Chromium 错误
移除 MediaStreamTrack.remote
在 Chrome 48 中,添加了 MediaStreamTrack.remote
属性以支持 Media Capture and Streams API,目的是让 JavaScript 知道 WebRTC MediaStreamTrack
是来自远程来源还是本地来源。
从那时起,此属性已从规范中移除。从 Chrome 59 开始,此属性已不再受支持。
不再支持使用 document.createEvent() 创建 ProgressEvent
早期版本的 DOM 规范要求实现 document.createEvent("ProgressEvent")
。但是,其使用率一直很低,并且 Gecko 和 Webkit 已不再支持。事件本身已于今年 3 月从规范中移除。
为了符合平台和最新规范,ProgressEvent
现已从 Chrome 中移除。
移除了 SVGTests.required 功能
在 SVG 规范的第一版本中,应用可以调用 DOMImplementation.hasFeature
来验证是否支持特定的 SVG 接口。许多 SVG 元素都包含返回相同信息的 requiredFeatures
属性。
在 SVG2 中,DOMImplementation.hasFeature
属性始终返回 true。因此,requiredFeatures
不再有任何作用。由于它已从规范中移除,因此在 Chrome 54 中已被弃用,现在已被移除。