在几乎每个版本的 Chrome 中,我们都会对该产品及其性能以及 Web 平台的功能进行大量更新和改进。本文介绍了 Chrome 59 中已废弃和移除的功能。Chrome 59 自 4 月 27 日起处于 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 bug | 到目前为止的源试用结果
从服务工件中移除 FileReaderSync
服务工件规范一直都有一条(非规范性)备注,即“不得在服务工件内发起任何类型的同步请求”,以避免阻塞服务工件(因为阻塞服务工件会阻塞来自受控网页的所有网络请求)。不过,服务工件中仍然可以使用 FileReaderSync
等同步 API。FileReaderSync
已在 Chrome 57 中废弃。该功能已在 Chrome 59 中移除。
废弃意图 | Chromestatus 跟踪器 | Chromium bug
移除了非标准 DeviceOrientation 事件初始化函数
一段时间以来,浏览器 API 的一个普遍趋势是,不再使用初始化函数,而是使用对象构造函数。最新版本的 DeviceOrientation 事件规范遵循了这一趋势,要求为 DeviceOrientationEvent
和 DeviceMotionEvent
提供构造函数。
由于 Chrome 在 Chrome 59 中默认启用这些构造函数,因此还移除了旧版初始化函数 initDeviceMotionEvent()
和 initDeviceOrientationEvent()
。Edge 已废弃初始化函数,Firefox 已发布构造函数。
移除了悬停/任何悬停媒体查询的“on-demand”值
大约一年前,hover/any-hover 媒体查询的“on-demand”值已从规范中移除。因此,Chrome 59 中移除了这些媒体查询。
移除意图 | Chromestatus 跟踪器 | Chromium bug
移除了 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 中已被弃用,现在已被移除。