URL:createObjectURL() 静态方法
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
备注: 此特性在 Web Worker(不包括 Service Worker)中可用。
URL
接口的 createObjectURL()
静态方法创建一个用于表示参数中给出的对象的 URL 的字符串。
URL 的生命周期与其创建时所在窗口的 document
绑定在一起。新对象 URL 代表指定的 File
对象或 Blob
对象。
要释放对象 URL,请调用 revokeObjectURL()
。
备注: 此特性在 Service Worker 中不可用,因为它有可能导致内存泄漏。
语法
URL.createObjectURL(object)
参数
object
-
用于创建 URL 的
File
、Blob
或MediaSource
对象。
返回值
一个包含对象 URL 的字符串,可用于引用指定源 object
的内容。
示例
使用说明
内存管理
每次调用 createObjectURL()
时,都会创建一个新的对象 URL,即使已经为同一个对象创建了一个 URL。当不再需要这些对象时,必须通过调用 URL.revokeObjectURL()
来释放它们。
浏览器会在卸载文档时自动释放对象 URL;然而,为了优化性能和内存使用,如果在安全时间内可以明确卸载,就应该卸载。
使用对象 URL 进行媒体流处理
在较早版本的媒体源规范中,需要为 MediaStream
创建一个对象 URL 才能将流附加到 <video>
元素。这已不再必要,浏览器正在逐步取消对此的支持。
警告:
如果你还有依赖于 createObjectURL()
将流附加到媒体元素的代码,你需要更新代码并将 srcObject
设置为 MediaStream
。
规范
Specification |
---|
File API # dfn-createObjectURL |
浏览器兼容性
BCD tables only load in the browser