繁体   English   中英

如何使用HTML2Canvas获取完整的HTML页面的屏幕截图

[英]How to get screenshot of complete HTML page using HTML2Canvas

我正在使用HTML2Canvas来获取完整HTML页面的图像。我试图通过单击按钮将该图像保存在PPT中。 我能够将图像保存在PPT中。 但是保存的图像内容越来越重叠,我在这里使用的警报大约需要1分钟才能显示。 当我进行调试时,我才知道问题出在HTML2Canvas。 我在网页中使用了许多第三方图表,例如Google图表。 能否请您建议我HTML2Canvas的其他替代方法,因为我看到当我们使用跨域内容时HTML2Canvas中几乎没有限制。

$('#PPTExport').click(function(e) {


var canvas = document.getElementById('canvas');
var target = $('#loadImageHeader');
        html2canvas(target, {
        onrendered: function(canvas) {

        var data1 = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");

        alert(data1);




$.ajax({ 
url: "savechart", 
data:{
image1:data1
      }, 

type: 'POST', 
success: function (data) {
if(data=="success")
{

 $("#formid1" ).attr('action','savechartDownload');
 $( "#formid1" ).submit();
}
                           } 
         });

}
});
                                                                    });

我有解决此问题的方法。 您可以尝试一下。

 html2canvas([document.body], {
        useCORS: true,
        proxy: "Server",
        onrendered : function(canvas) {                               
             var myImage = canvas.toDataURL("image/png");
             window.open(myImage);
        }
});

服务器是node.js的服务器URL或您可以编写的任何语言。

示例Node.js: https : //github.com/niklasvh/html2canvas-proxy-nodejs

在此处了解更多信息: 无法使用html2canvas捕获Google地图

此处: 跨域资源共享策略拒绝跨域图像加载

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM