【发布时间】:2017-02-25 06:00:52
【问题描述】:
在https://w3c.github.io/FileAPI/#unicodeBlobURL:
Blob URL 的序列化是由以下算法返回的值,由 URL.createObjectURL() 调用:
-
让 result 为空字符串。将字符串“blob”(即 Unicode 码位序列 U+0062、U+006C、U+006F、U+0062)附加到结果中。
-
将“:”(U+003A 冒号)字符附加到结果中。
-
设设置为当前设置对象
-
设原点为设置的原点。
-
令 serialized 为 origin 的 ASCII 序列化。
-
如果序列化为“null”,则将其设置为实现定义的值。
...
这个实现定义的值是什么?
更新:我尝试在jsdom 上实现这个,所以想弄清楚我应该怎么做。
【问题讨论】:
-
由实现来定义它;-)(Chrome、FF 和 Safari 似乎将其设置为
'null'。不确定 IE。) -
我尝试在jsdom上实现这个,所以想弄清楚我应该怎么做。 :)
-
这个案例可以在跨域沙盒 iframe 中重现。并且一旦它有用,SO 的 stacksn-ps 是跨域沙盒的,如果你在那里输入
console.log(URL.createObjectURL(new Blob([])));,你会在大多数浏览器中得到blob:null/+ UUID。我想可以肯定地说您可以将其设置为'null'。