【问题标题】:Png file not downloading in Internet Explorer when using html2canvas.js in Jquery在 Jquery 中使用 html2canvas.js 时,无法在 Internet Explorer 中下载 PNG 文件
【发布时间】:2016-06-24 17:11:37
【问题描述】:

我的应用程序中有一个按钮,可将 html 元素导出为 png 文件。我通过使用 html2canvas.js 做到了这一点。它在 Google chrome 和 Mozilla firefox 浏览器中运行良好。但它在 Internet Explorer 中不起作用。当我在 IE 中单击该按钮时,它只是显示空白页。我在下面提供了代码。任何帮助表示赞赏。

  $("#btnPng").click(function () {
            $("#divPulledPopUpButtons").hide();
            html2canvas($("#pulledPopUp"), {
                onrendered: function (canvas) {
                    var url = canvas.toDataURL();
                    $("<a>", {
                        href: url,
                        download: "CAR.png"
                    })
                    .on("click", function () { $(this).remove() })
                    .appendTo("body")[0].click()
                    $("#divPulledPopUpButtons").show();
                }
            })
        });

【问题讨论】:

    标签: jquery html2canvas


    【解决方案1】:

    我已经找到了解决上述问题的方法。它可以通过使用 canvas.msToBlob() 函数来解决。 msToBlob() 只能用于 Internet Explorer 浏览器,对于其他浏览器,我们可以使用 canvas.toDataURL()。我提供了在 Internet Explorer 和其他浏览器中运行良好的代码。

     $("#btnPng").click(function () {
                $("#divPulledPopUpButtons").hide();
    
                html2canvas($("#pulledPopUp"), {
                    onrendered: function (canvas) {
                       // debugger;
                        if (canvas.msToBlob) { //for IE
                            var blob = canvas.msToBlob();
                            window.navigator.msSaveBlob(blob, 'CAR.png');
                        }
                        else {
                            var url = canvas.toDataURL('image/png', 1.0);// Other broswers except IE
                            $("<a>", {
                                href: url,
                                download: "CAR.png"
                            })
                            .on("click", function () { $(this).remove() })
                            .appendTo("body")[0].click()
    
                        }
                        $("#divPulledPopUpButtons").show();
                    }
                })
            });
    

    【讨论】:

    • 这对我很有帮助!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    相关资源
    最近更新 更多