Canvas toBlob在Safari中不被识别为函数

Bik*_*u s 3 javascript safari canvas html5-canvas

嗨,从下面的代码我能够下载chrome和firefox中的图像,但没有在safari浏览器中工作它抛出以下错误

TypeError:'undefined'不是函数(评估'canvas.toBlob(blobCallback('wallpaperdeae'))')

$( "#拯救").点击(函数(){

$("#save").click(function(){

   function blobCallback(iconName) {
        return function (b) {

            var a = document.getElementById('download');
            a.download = iconName + ".jpg";
            a.href = window.URL.createObjectURL(b);
        }
    }
    canvas.toBlob(blobCallback('wallpaperdeae'));

});
Run Code Online (Sandbox Code Playgroud)

谢谢

Dib*_*yJr 9

我认为Safari中不支持toBlob方法:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob#Browser_compatibility

据此,它仅适用于Chrome 50+和Firefox(19+用于基本支持,25+用于图像质量参数),在IE 10及更高版本中有一些基本支持.

所以Safari没有任何支持.

  • 取决于您需要支持的浏览器版本,但是您始终可以使用:https://github.com/blueimp/JavaScript-Canvas-to-Blob充当浏览器中toBlob方法的polyfill (2认同)