【问题标题】:why can I only use blobs on the current session为什么我只能在当前会话中使用 blob
【发布时间】:2017-04-26 02:04:17
【问题描述】:

我决定看看 youtube 是如何做他们正在做的事情的, 我发现很奇怪我不能直接访问视频而是有 访问他们的网站。

当我注意到 youtube 正在使用 普通视频标签。但是,问题在于它的 src 是带有 BLOB 的东西。 有人可以向我解释为什么我只能在当前会话中使用 BLOB,更准确地说 - 正在执行的过程是什么 在哪里,如何以及由谁?(是浏览器还是服务器允许 这种一次性的沟通,或两者兼而有之,如果是这样的话?)。

【问题讨论】:

    标签: javascript html youtube


    【解决方案1】:

    Blob URL 在创建Blobdocument 的生命周期内存在;或者,如果定义了Blob.prototype.close(),直到在Blob 实例上调用blobInstance.close();或 URL.revokeObjectURL() 在引用底层 Blob 实例的 Blob URL 上调用。

    8.6. Lifetime of Blob URLs

    必须公开URL.[createObjectURL()][2] 的全局对象 维护一个*Blob URL Store*,它是一个Blob URLs 创建的列表 通过URL.createObjectURL() 方法和Blob 资源 每个都指的。

    当本规范要求向Blob URL Store 添加一个条目时 对于Blob URLBlob 输入,用户代理必须添加Blob URL 和对Blob 的引用,它引用Blob URL Store

    当本规范要求从Blob URL Store 中删除给定Blob URL 或给定Blob 的条目时,用户代理必须 从Blob URL Store 中删除Blob URL 和它所指的Blob。随后尝试取消引用此 URL 必须导致 网络错误。

    本规范增加了一个额外的卸载文档清理步骤: 用户代理必须从Blob URL Store 中删除所有Blob URLs 在那个document.

    另见

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2011-12-15
      • 2012-06-14
      相关资源
      最近更新 更多