js下载遇到的问题

js下载

 exportCanvasAsPNG(canvas, 'invoice.png')
 
 // 下载
    function exportCanvasAsPNG(obj, fileName) {

        var canvasElement = obj;

        var MIME_TYPE = "image/png";

        var imgURL = canvasElement.toDataURL(MIME_TYPE);
    //     判断是否是edge浏览器
        if (window.navigator.userAgent.indexOf('Edge') < 0) {
            var dlLink = document.createElement('a');
            dlLink.download = fileName;
            dlLink.href = imgURL;
            dlLink.dataset.downloadurl = [MIME_TYPE, dlLink.download, dlLink.href].join(':');

            document.body.appendChild(dlLink);
            dlLink.click();
            document.body.removeChild(dlLink);
        } else {
            //  这个方法 Microsoft Edge 42.17134.1.0 不可用
            // var blobObject = new Blob([imgURL]);
            // navigator.msSaveBlob(blobObject, fileName);
            // 这个 Microsoft Edge 42.17134.1.0 可用
            var blob=canvasElement.msToBlob();
            navigator.msSaveBlob(blob, fileName);
        }
    }

  

原文地址:https://www.cnblogs.com/GoTing/p/12483199.html