URL:createObjectURL() 静态方法

注意:此功能在 Web Workers 中可用,但 Service Workers 除外。

createObjectURL()URL 接口的静态方法,它创建一个包含 URL 的字符串,该字符串表示参数中给定的对象。

URL 的生命周期与创建它的窗口中的 document 绑定。新的对象 URL 表示指定的 File 对象或 Blob 对象。

要释放对象 URL,请调用 revokeObjectURL()

注意:由于此功能可能导致内存泄漏,因此在 Service Workers不可用

语法

js
URL.createObjectURL(object)

参数

object

要为其创建对象 URL 的 FileBlobMediaSource 对象。

返回值

包含对象 URL 的字符串,该字符串可用于引用指定源object的内容。

示例

使用说明

内存管理

每次调用createObjectURL()时,都会创建一个新的对象 URL,即使您已经为同一对象创建了一个 URL 也是如此。当您不再需要它们时,必须通过调用 URL.revokeObjectURL() 来释放每个 URL。

浏览器会在文档卸载时自动释放对象 URL;但是,为了获得最佳性能和内存使用情况,如果有一些安全的时间可以显式卸载它们,则应这样做。

将对象 URL 用于媒体流

在旧版本的媒体源规范中,将流附加到 <video> 元素需要为 MediaStream 创建对象 URL。这不再需要,浏览器正在删除对执行此操作的支持。

警告:如果您仍然有依赖createObjectURL()将流附加到媒体元素的代码,则需要更新代码以将 srcObject 直接设置为MediaStream

规范

规范
文件 API
# dfn-createObjectURL

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅