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

Javascript 如何使用HTML2Canvas获取完整HTML页面的屏幕截图,javascript,jquery,Javascript,Jquery,我正在使用HTML2Canvas获取完整HTML页面的图像。我正在尝试通过单击按钮将该图像保存在PPT中。 我能够在PPT中保存图像。 但是保存的图像内容越来越重叠,我在这里使用的警报大约需要1分钟才能显示出来。 当我调试时,我知道问题出在HTML2Canvas上。 我在我的页面中使用了很多第三方图表,比如谷歌图表。 你能给我推荐一些HTML2Canvas的替代方案吗?因为我看到HTML2Canvas在使用跨源内容时几乎没有限制 $('#PPTExport').click(function(e)

我正在使用HTML2Canvas获取完整HTML页面的图像。我正在尝试通过单击按钮将该图像保存在PPT中。 我能够在PPT中保存图像。 但是保存的图像内容越来越重叠,我在这里使用的警报大约需要1分钟才能显示出来。 当我调试时,我知道问题出在HTML2Canvas上。 我在我的页面中使用了很多第三方图表,比如谷歌图表。 你能给我推荐一些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);
        }
});
Server是node.js的服务器url或您可以编写的任何语言

示例Node.js:

请在此处阅读更多信息:


这里:

我有这个问题的解决方案。 你可以试试这个

 html2canvas([document.body], {
        useCORS: true,
        proxy: "Server",
        onrendered : function(canvas) {                               
             var myImage = canvas.toDataURL("image/png");
             window.open(myImage);
        }
});
Server是node.js的服务器url或您可以编写的任何语言

示例Node.js:

请在此处阅读更多信息:


这里:

谢谢您的快速回复。你能提供使用node.js的链接吗?代理文件在哪里?我能拍一张有外部图像的iframe(其他域)的截图吗?谢谢你的快速回复。你能提供使用node.js的链接吗?代理文件在哪里?我能拍一张有外部图像的iframe(其他域)的截图吗