我阅读了其他答案,它们告诉我们,当我们将图像托管在服务器中时,图像将呈现。就我而言,我的图像是动态来自服务器的。它可以在Chrome和Firefox中完美运行,但不能在Safari中完美运行。这是我使用JsPDF和HTML2Canvas的代码:
$(document).on('click', '#download_pdf', function(){
$('.hide-pdf').hide();
html2canvas(document.body,{
useCORS: true,
logging:true,
onrendered:function(canvas){
$('.loading-wrap').hide();
var img=canvas.toDataURL("image/png");
var imgData = canvas.toDataURL('image/png');
var imgWidth = 210;
var pageHeight = 295;
var imgHeight = canvas.height * imgWidth / canvas.width;
var heightLeft = imgHeight;
var doc = new jsPDF('p', 'mm');
var position = 0;
doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
while (heightLeft >= 0) {
position = heightLeft - imgHeight;
doc.addPage();
doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
}
doc.save('bulldata.pdf');
}
}
);
$('.hide-pdf').show();
}
);
任何人都可以帮助我检查为什么图像不能仅在Safari浏览器中呈现。
答案 0 :(得分:0)
我也在处理相同的问题。我认为问题可能是由CORS选项引起的。基本上,即使使用Safari也可以在没有CORS选项的情况下很好地工作。
https://helperbyte.com/questions/277332/as-safari-to-make-it-work-with-cors-html2canvas-correctly