URL.createObjectURL() - Web API 接口参考 编辑

URL.createObjectURL() 静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的URL 对象表示指定的 File 对象或 Blob 对象。

Note: 此特性在 Web Worker 中可用。

注意:此特性在 Service Worker 中不可用,因为它有可能导致内存泄漏。

语法

objectURL = URL.createObjectURL(object);

参数

object
用于创建 URL 的 File 对象、Blob 对象或者 MediaSource 对象。​

返回值

一个DOMString包含了一个对象URL,该URL可用于指定源 object的内容。

示例

查看使用对象URL显示图片.

附注

内存管理

在每次调用 createObjectURL() 方法时,都会创建一个新的 URL 对象,即使你已经用相同的对象作为参数创建过。当不再需要这些 URL 对象时,每个对象必须通过调用 URL.revokeObjectURL() 方法来释放。

浏览器在 document 卸载的时候,会自动释放它们,但是为了获得最佳性能和内存使用状况,你应该在安全的时机主动释放掉它们。

使用相对URLs作为媒体流

在旧版本的媒体资源规范中,添加流作为<video>元素需要创建一个关于 MediaStream的对象URL。现已没必要这样做了,浏览器已经移除了该操作的支持。

重要:如果你为了去添加流作为媒体元素,而仍旧使用着依赖createObjectURL() 的代码,你需要更新的代码,仅需要设定srcObject 到`MediaStream `即可。

规范

规范状态备注
File API
createObjectURL()
Working DraftInitial definition.
Media Source Extensions
URL
Recommendation

MediaSource extension.

Older versions of this specification used createObjectURL() for MediaStream objects; this is no longer supported.

浏览器兼容性

BCD tables only load in the browser

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:64 次

字数:5649

最后编辑:6 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文