在 IE 或 Edge 中支持 Canvas "Download as Image"

Supporting Canvas "Download as Image" in IE or Edge

我正在努力在 IE 或 Edge 中支持 Canvas "Download as Image"。似乎 canvas.toDataURL() 在 IE 或 edge 中不起作用。

人们使用 canvas.msToBlob() 来支持 IE 或 Edge 中的 Canvas "Download as Image"。 我搜索了有关 canvas.msToBlob() 方法的文档。但是我发现的主要是canvas.toBlob.

我的问题是:

  1. msToBlobtoBlob有什么区别?
  2. 我只在 Microsoft MSDN 上找到了 msToBlob 的描述。所以,msToBlob跟微软有关系?我希望 msToBlob 中的 "ms" 不代表微软 :)
  3. 使用 msToBlob/msSaveBlob 这样的函数是否安全,因为它们似乎并非在所有平台上都 global/general/available?
  1. msToBlobtoBlob的区别只是使用场景不同而已。从MDN docs可以看出IE和Edge不支持toBlob。在 IE 和 Edge 中使用时需要添加厂商前缀 ms。此外,我们可以在 toBlob 中指定图像类型,但 msToBlob returns 只能是 PNG。
  2. 是的,你猜对了,ms是厂商前缀。有时候我们需要加上ms前缀,让一些方法兼容IE和Edge。
  3. 没有文档表明带有 ms 前缀的方法是不安全的。只是为了浏览器兼容性。