【问题标题】:What does implementation-defined value in FileAPI/unicodeBlobURL mean?FileAPI/unicodeBlobURL 中实现定义的值是什么意思?
【发布时间】:2017-02-25 06:00:52
【问题描述】:

https://w3c.github.io/FileAPI/#unicodeBlobURL:

Blob URL 的序列化是由以下算法返回的值,由 URL.createObjectURL() 调用:

  1. 让 result 为空字符串。将字符串“blob”(即 Unicode 码位序列 U+0062、U+006C、U+006F、U+0062)附加到结果中。

  2. 将“:”(U+003A 冒号)字符附加到结果中。

  3. 设设置为当前设置对象

  4. 设原点为设置的原点。

  5. 令 serialized 为 origin 的 ASCII 序列化。

  6. 如果序列化为“null”,则将其设置为实现定义的值

    ...

这个实现定义的值是什么?

更新:我尝试在jsdom 上实现这个,所以想弄清楚我应该怎么做。

【问题讨论】:

  • 由实现来定义它;-)(Chrome、FF 和 Safari 似乎将其设置为 'null'。不确定 IE。)
  • 我尝试在jsdom上实现这个,所以想弄清楚我应该怎么做。 :)
  • 这个案例可以在跨域沙盒 iframe 中重现。并且一旦它有用,SO 的 stacksn-ps 是跨域沙盒的,如果你在那里输入console.log(URL.createObjectURL(new Blob([])));,你会在大多数浏览器中得到blob:null/+ UUID。我想可以肯定地说您可以将其设置为'null'

标签: url browser w3c fileapi


【解决方案1】:

作为实施者,由您决定,只要它不是有效的来源。

大多数浏览器(在 FF、chrome 和 Safari 中测试)似乎将其设置为 'null'

感谢 stacksn-p 的沙盒 iframe,我们可以检查它。

console.log(URL.createObjectURL(new Blob([])));

【讨论】:

  • 感谢您的回答。
  • @unional,不客气。请注意,Edge 将其设置为 ''(空字符串),但它们对每个原点都执行此操作...
猜你喜欢
  • 2019-06-02
  • 1970-01-01
  • 2010-09-15
  • 2019-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多