Html 哪些浏览器(和版本)支持Canvas.toBlob方法?
我正在从事一个极简图像创建项目,我需要有能力在浏览器中创建图像,然后在服务器上使用。到目前为止,Html 哪些浏览器(和版本)支持Canvas.toBlob方法?,html,html5-canvas,Html,Html5 Canvas,我正在从事一个极简图像创建项目,我需要有能力在浏览器中创建图像,然后在服务器上使用。到目前为止,Canvas.toDataUrl()方法已经满足了我们的需要,但我刚刚了解了Canvas.toBlob()方法,它会更方便 几个月前,toBlob()方法对规范来说似乎是新的(我找不到任何直接的参考,它是什么时候添加的) 哪些浏览器支持toBlob,更重要的是,哪些版本的浏览器包含该方法的集成?此外,对该功能的支持是“错误”还是正在为任何主要浏览器开发中 更新 差不多8年前我问过这个问题。我已经将前面
Canvas.toDataUrl()
方法已经满足了我们的需要,但我刚刚了解了Canvas.toBlob()
方法,它会更方便
几个月前,toBlob()
方法对规范来说似乎是新的(我找不到任何直接的参考,它是什么时候添加的)
哪些浏览器支持toBlob,更重要的是,哪些版本的浏览器包含该方法的集成?此外,对该功能的支持是“错误”还是正在为任何主要浏览器开发中
更新
差不多8年前我问过这个问题。我已经将前面提到的项目放在表格中,等待canvas.toBlob()
方法状态的任何更新。从我在web上收集到的信息来看,toBlob()
的实现似乎正在一些浏览器中慢慢使用
我再次询问,canvas.toBlob()
方法在已经开始集成HTML5 canvas对象的浏览器中有多普遍?这些浏览器的哪些版本是第一个集成此支持的?截至2016年2月为止,这些浏览器支持toBlob()
- IE10作为前缀
toBlob()
是真正的新功能,我不建议在消费者应用程序中使用它,除非您可以明确要求他们使用特定的浏览器(或控制环境)
已在上添加了toBlob()
,并且具有定义的有限功能。它不存在于Chrome nightly、firefox nightly和IE9中
值得注意的是,Firefox确实具有功能性
甚至还没有
他们的讨论决定等到规范更加明确后再尝试实现
toBlob()
的规范非常模糊,许多内部问题尚未解决。他们甚至还不确定典型的toBlob()
使用什么参数
2012年4月10日更新 托布洛布仍然得不到支持。它仍然不存在于Chrome Canary(每晚)、Firefox夜间和IE9上 如果您想在Chrome star中查看更新,请执行以下操作: 如果您想在Firefox中查看更新,请在此处订阅此错误:
更新:截至2016年2月21日。toBlob现在在chrome 50(当前为金丝雀)中工作。很遗憾,这项功能没有进一步发展,但很高兴知道它的状态(thx Simon)
在此期间,通过消除base64编码的dataUri字符串的膨胀,这为实现二进制上传的网络效率提供了一个很好的解决方案。显然,它只受最新浏览器的支持,但如果您正在编写扩展或准备在前沿浏览器上建立依赖关系,这可能是一个不错的选择。如果您可能需要它,此js文件将在不支持它的浏览器中实现toBlob函数: 这里是作者和扩展的源代码 然而,看起来即使是这个库也不能在所有浏览器中工作,因为它 “需要BlobBuilder支持才能正常工作,但这在所有应用程序中都不存在 浏览器“
canvas.toBlob()函数有一个很好的JavaScript实现,其中还包括本机FireFox mozGetAsFile()函数:
自从我第一次问这个问题以来,已经将近8年了。考虑到我仍然获得了少量的投票,而且这个问题经常在谷歌搜索的顶端,我想我应该更新一下Canvas.toBlob(…)的状态及其实现 下表:
| | Version Support
| Version | for 'Quality'
Browser | Implemented | Parameter
-------------------+-------------+-----------------
Android Webview) | 50 | 50
Chrome (Desktop) | 50 | 50
Chrome (Mobile) | 50 | Unsupported
Edge (Desktop) | Unsupported | Unsupported
Edge (Mobile) | Unsupported | Unsupported
Firefox (Desktop) | 19 | 25
Firefox (Mobile) | 4 | 25
Internet Explorer* | 10 | Unsupported
Opera (Desktop) | 37 | Yes
Opera (Mobile) | 37 | Unsupported
Safari (Desktop) | 11 | Unsupported
Safari (Mobile) | 11 | Unsupported
Samsung Internet | 5.0 | Unsupported
* Internet Explore implements "msToBlob" rather than the "toBlob" function signature.
(来源:)啊,谢谢你的澄清。这个项目的性质是,我可以要求一个特定的浏览器,但我不想限制他们太多。这是9个月前的原始答案。我不介意把赏金授予这个人,但我希望在这段时间内有一个更好的解决方案。如果悬赏时间到期(40分钟后),Simon将再次获得答案检查,并且悬赏。这在FF 19-FYI中提供,我在第一次问这个问题后就接受了Simon Sarris的答案。我在这个问题上加了一个悬赏,因为我认为自2011年7月以来,现在有了一个更好的答案。bI重新提出了这个问题,因为我不得不暂停这个项目一段时间,考虑到大多数现代浏览器几乎每隔一周发布一次更新,这个Javascript功能的状态肯定与2011年7月有所不同。请看,你应该提到它是一个多填充