我正在一个极简主义的图像创建项目上,我需要能够在浏览器中创建依次在服务器上使用的图像。到目前为止,Canvas.toDataUrl()方法已经满足了我们的需求,但是我刚刚了解了Canvas.toBlob()方法,它将更加方便。

似乎toBlob()方法对规范来说是新的几个月(我找不到添加它时的任何直接引用。)

哪些浏览器支持toBlob,更重要的是,那些浏览器的哪个版本包含该方法的集成?另外,是否支持此功能“ buggy ”或正在开发任何主流浏览器?

更新

我在8年前问过这个问题。我已经提交了我之前提到的项目,等待canvas.toBlob()方法状态的任何更新。从我在网络上可以收集到的信息来看,toBlob()的实现似乎正在一些浏览器中广泛使用。

我再问一次,在开始集成HTML5 canvas对象的浏览器中,canvas.toBlob()方法有多普遍?这些浏览器的哪个版本是第一个集成此支持的浏览器?

最佳答案

2016年2月以来,这些浏览器支持toBlob()

  • Firefox 19
  • Chrome 50
  • IE10作为前缀 msToBlob()

  • 请注意,此答案最初是在2011年撰写的。下面的原始答案/编辑。
    toBlob(),实际上是新功能,除非您可以明确要求他们使用特定的浏览器(或控制环境),否则我建议您不要在消费者应用中使用它。
    toBlob()被添加到May 12th上,并且功能受限。 Chrome每晚,firefox每晚或IE9中都不存在该功能。

    值得注意的是,Firefox确实具有功能mozGetAsFile

    甚至还没有discussion for adding it to Chrome

    关于Firefox.的讨论他们决定等到规范更加明确后再尝试实现。
    toBlob()的规范非常模糊,许多内部问题仍未解决。他们甚至还不确定典型的toBlob()使用哪种参数。

    ,2012年4月10日更新

    toBlob仍然不受支持。 Chrome Canary(夜间),Firefox Nightly或IE9上仍然不存在该功能。

    如果您想在Chrome星标中查看更新,请执行以下操作:

    http://code.google.com/p/chromium/issues/detail?id=67587

    如果要在Firefox中查看更新,请在此处订阅此错误:

    https://bugzilla.mozilla.org/show_bug.cgi?id=648610

    更新:从2016年2月21日开始,.toBlob现在可以在chrome 50(当前为canary)中使用

    07-26 09:43