HTML2CANVAS 在超过 30,000 像素长时不渲染 document.body

HTML2CANVAS not rendering the document.body when its more than 30,000 pixels long

这个问题有办法解决吗?当 document.body 高度超过 30,000 像素时,html2canvas 不呈现。或者我可以只渲染当前视口吗?用户可以看到什么?

请帮忙。

为了能够仅呈现当前活动视口,您可以使用 type:'view' 选项

初始化 html2canvas

示例:

 var body = document.getElementsByTagName("body")[0]; 
    html2canvas(body, {
        type: 'view',
        onrendered: function(canvas) {
            //implementation
        }
    })

我用 html2canvas 版本 0.5.0-beta4 测试了上面的代码,它只正确捕获当前视口,即使你滚动到页面底部也是如此

关于3万像素,可以查看@kaiido提到的answer