URL:createObjectURL() 静态方法
注意:此功能在 Web Workers 中可用,但 Service Workers 除外。
createObjectURL()
是 URL
接口的静态方法,它创建一个包含 URL 的字符串,该字符串表示参数中给定的对象。
URL 的生命周期与创建它的窗口中的 document
绑定。新的对象 URL 表示指定的 File
对象或 Blob
对象。
要释放对象 URL,请调用 revokeObjectURL()
。
注意:由于此功能可能导致内存泄漏,因此在 Service Workers 中不可用。
语法
js
URL.createObjectURL(object)
参数
object
-
要为其创建对象 URL 的
File
、Blob
或MediaSource
对象。
返回值
包含对象 URL 的字符串,该字符串可用于引用指定源object
的内容。
示例
请参阅 使用对象 URL 显示图像。
使用说明
内存管理
每次调用createObjectURL()
时,都会创建一个新的对象 URL,即使您已经为同一对象创建了一个 URL 也是如此。当您不再需要它们时,必须通过调用 URL.revokeObjectURL()
来释放每个 URL。
浏览器会在文档卸载时自动释放对象 URL;但是,为了获得最佳性能和内存使用情况,如果有一些安全的时间可以显式卸载它们,则应这样做。
将对象 URL 用于媒体流
在旧版本的媒体源规范中,将流附加到 <video>
元素需要为 MediaStream
创建对象 URL。这不再需要,浏览器正在删除对执行此操作的支持。
警告:如果您仍然有依赖createObjectURL()
将流附加到媒体元素的代码,则需要更新代码以将 srcObject
直接设置为MediaStream
。
规范
规范 |
---|
文件 API # dfn-createObjectURL |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。