如何延迟网页的画布渲染以允许加载元素?

时间:2014-08-21 05:06:38

标签: javascript html html2canvas jspdf

我使用html2canvas将网页捕获为jpeg,然后使用jsPDF将其转换为pdf doc。我在网页资源化方面面临问题,在加载少量图表之前捕获网页。但是在浏览器中,为了触发这个功能,所有的图都被加载了。这些图表使用其他js库,如d3,jVectorMap。有没有办法可以延迟渲染?

我使用此链接作为参考:

我正在使用的功能:

function export_PDF() {
    //convert whole html page to canvas  
            html2canvas(document.body, {
        onrendered: function(canvas) {
                        // canvas is the final rendered <canvas> element

            var myImage = canvas.toDataURL("image/JPEG").slice('data:image/jpeg;base64,'.length);

            // Convert the data to binary form
                            myImage = atob(myImage);

            //new object of jspdf and save image to pdf.

                            var doc = new jsPDF();
                            doc.addImage(myImage, 'JPEG', 0, 0, 180,200);
                            doc.save('pdfName.pdf');
        }
            });

}

我试过这段代码,但是dint帮助我,因为它不会延迟渲染而只是创建画布:

html2canvas(document.body, {
"onrendered": function(canvas) {
    setTimeout(function(){
       //my code
    }, 5000);
}
});

0 个答案:

没有答案