【问题标题】:html2canvas not work in ie9html2canvas 在 ie9 中不起作用
【发布时间】:2017-08-27 11:11:45
【问题描述】:

我想将 div 转换为画布,在 chrome 中效果很好,但在 IE9 中它可以转换但效果不佳 - 它会剪切 div 内容并更改 div 元素的顺序。

witch js 我应该下载在 IE9 中也能正常工作的吗? 有人知道我该如何解决这个分辨率问题? 我的js代码:

 $scope.canvastoimage = function () {
        html2canvas($("#mytryapp"), {
           proxy: "server.js",
            useCORS: true,
            onrendered: function(canvas) {
                document.body.appendChild(canvas);  
                 $("#img-out").append(canvas);
                $("#mytryapp").hide();
                printthispage();

       }
        });
    }

结果附上:

谢谢!

【问题讨论】:

    标签: javascript angularjs html2canvas


    【解决方案1】:

    此代码适用于所有浏览器

    html2canvas([document.getElementById(mytryapp)], { 
     onrendered: function (canvas) { 
       var imageData = canvas.toDataURL('image/png',1.0);
       document.getElementById('img-out')[0].innerHTML = imageData;
     } 
    });
    

    测试一下,看看效果如何。索引 0 与 jQuery 对象一起使用以获取“真实”文档元素,因此如果您不使用 jquery,请更改为:

    html2canvas([document.getElementById(mytryapp)], { 
         onrendered: function (canvas) { 
           var imageData = canvas.toDataURL('image/png',1.0);
           document.getElementById('img-out').innerHTML = imageData;
         } 
        });
    

    【讨论】:

    • 我需要将转换后的画布附加到我的 $("#img-out") 我该怎么做?你可以添加一些代码吗?谢谢
    • 我刚才编辑的 document.getElementById(#mytryapp) 是错误的,所以我添加了 document.getElementById(mytryapp) 而没有 #
    • 我的 img-out:
    • 它没有[0]
    猜你喜欢
    • 1970-01-01
    • 2017-07-17
    • 2017-10-27
    • 2018-02-09
    • 2012-03-05
    • 2018-04-29
    • 2012-02-09
    • 2012-08-02
    • 2014-05-04
    相关资源
    最近更新 更多