Javascript 为什么我只能在当前会话中使用blob

Javascript 为什么我只能在当前会话中使用blob,javascript,html,youtube,Javascript,Html,Youtube,我决定看看youtube是怎么做的, 我觉得奇怪的是,我不能直接访问视频,而是有 通过他们的网站获取访问权限 当我注意到youtube正在使用 普通视频标签。但是,问题是它的src是一个带有斑点的东西。 请有人向我解释为什么我只能在当前会话中使用BLOB,更准确地说,正在执行的过程是什么 在哪里、如何以及由谁进行?(是浏览器还是服务器允许 这种一次性通信,或者两者都是,如果是,如何实现?在创建Blob的文档的生命周期内,存在一个Blob URL;或者,如果定义了Blob.prototype.cl

我决定看看youtube是怎么做的, 我觉得奇怪的是,我不能直接访问视频,而是有 通过他们的网站获取访问权限

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

在创建
Blob
文档的生命周期内,存在一个
Blob URL
;或者,如果定义了
Blob.prototype.close()
,直到对
Blob
实例调用
blobinInstance.close()
;或者
URL.revokeObjectURL()
在引用基础
Blob
实例的
Blob URL
上调用

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

当本规范要求向
blobURL存储添加条目时
对于
Blob URL
Blob
输入,用户代理必须添加
Blob
URL
和对
Blob
的引用,它指的是
Blob URL
存储

当本规范要求从
blobURL中删除条目时
存储
对于给定的
Blob URL
或给定的
Blob
,用户代理必须 从
Blob URL中删除
Blob URL及其引用的
Blob
存储
。随后尝试取消引用此URL必须导致 网络错误

此规范添加了一个附加的卸载文档清理步骤: 用户代理必须从
Blob URL存储中删除所有
Blob URL
在这里面

另见